Ext.ns('Escritorio.RRHH');
Escritorio.RRHH = {

    Inicio: function () {
        var comboplaboral = new SistIntegral.Componentes.Objetos().ComboPeriodoLaboral();
        Escritorio.Funciones.CmbEjercicios();
        //var comboMA = new Escritorio.Funciones.ComnoMotivoausencia();

        var AllPrestamos={};
        var opts2 = {};
        var opt3 = {};

        function AlinearVertical(val) {
            //return    '<div style="height:100px;"><font style="vertical-align: middle; width:0px;">'+val+'</font></div>'
            if (val != null)
                return '<div style="height: 30px;line-height: 30px;">' + val + '</div>';
            else
                return '';
        }
        var arbol = new Ext.tree.TreePanel({
            region: 'west',
            id: 'arbolrrhh',
            width: 220,
            title: 'RECURSOS HUMANOS',
            split: true,
            collapsible: true,
            margins: {
                left: 0
            },
            border: true,
            autoScroll: true,
            useArrows: true,
            root: Escritorio.Funciones.ArbolRRHH(),
            rootVisible: false
        });

        var TabPanel = Ext.create('Ext.tab.Panel', {

            id: 'tabproductores',
            activeTab: 0,
            layout: 'fit',
            region: 'center',
            items: [{
                title: 'Bienvenido',
                bodyPadding: 10,
                html: 'Configurar elementos de bienvenida'
            }
            ]
        });

        var PanelContenedor = Ext.create('Ext.panel.Panel', {
            id: 'border-panel',
            layout: 'border',
            bodyBorder: false,
            border: false,
            defaults: {
                collapsible: true,
                split: true,
                animFloat: false,
                autoHide: false,
                useSplitTips: true
            },
            items: [TabPanel, arbol]

        });
        //Ejecutamos el click sobre el arbol
        arbol.on('itemclick', function (node, rec, item, index, e) {
            var tbar = null,
                panel = null,
                opts = {}, existe = null,
                tbargrid = {};
            e.stopEvent();
            //arbol.collapse("Ext.Component.DIRECTION_TOP",true);

            if (rec.get('id') == 'personal') {

                existe = Ext.getCmp('panelpersonal');
                if (!existe) {
                    opts.url = rec.get('hrefTarget');
                    opts.title = 'Listado del Personal';
                    opts.pageSize = 500;
                    opts.fields = ['Id', 'Paterno', 'Materno', 'Nombres', 'Sexo', 'FechaNacimiento', 'Nrodi', 'Tiposangre', 'estado'];
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['-', {
                            width: 150,
                            emptyText: 'Apellidos y Nombres',
                            xtype: 'searchfield',
                            store: opts.store
                        },
                        '-',
                        'Todos'
                        ,{                        
                            fieldLabel: '',
                            xtype: 'checkbox',
                            name: 'myCheckBox',
                            listeners: {
                                    change:  function(checkbox, checked) {
                                
                                        if(checked==false){
                                                     Escritorio.Funciones.StoreSimple3();
                                        }
                                        if(checked==true){
                                       
                                        Escritorio.Funciones.StoreSimple2();
                                        } 
                                    }
                                }
                        }, '->', {
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                            itemId: 'create',
                            hrefTarget: 'personal/Create',
                            handler: function (btn) {
                                new SistIntegral.RRHH.FrmPerona().Window(btn);
                            }
                        }, '-', {
                            text: 'Editar',
                            iconCls: 'editar',
                            itemId: 'edit',
                            hrefTarget: 'personal/edit/',
                            handler: function (btn) {
                                new SistIntegral.RRHH.FrmPerona().Window(btn);
                            }
                        }, '-', {
                            text: 'Eliminar',
                            iconCls: 'eliminar',
                            itemId: 'delete',
                            hrefTarget: 'personal/Delete/',
                            handler: function (btn) {
                                new Escritorio.Funciones.Window2(btn);
                            }
                        }, {
                            text: 'Reportes',
                            iconCls: 'reporte',
                            menu: {
                                items: [{
                                    text: '<b>Datos Generales</b>',
                                    iconCls: 'personalgeneral',
                                    handler: function () {
                                        var btn = {};
                                        btn.titulo = 'REPORTE DE PERSONAL GENERAL',
                                                    btn.src = '"Reporting/RRHH/personalgeneral.aspx"'
                                        new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                                    }
                                }, '-', {
                                    text: '<b>Derecho Habientes</b>',
                                    iconCls: 'personalgeneral',
                                    handler: function () {
                                        var btn = {};
                                        btn.titulo = 'REPORTE DE DERECHO HABIENTES',
                                                    btn.src = '"Reporting/RRHH/personaldh.aspx"'
                                        new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                                    }
                                }, '-', {
                                    text: '<b>Datos Generales/Derecho Habientes</b>',
                                    iconCls: 'personalgeneral',
                                    handler: function () {
                                        var btn = {};
                                        btn.titulo = 'REPORTE DE PERSONAL GENERAL/DERECHO HABIENTES',
                                                    btn.src = '"Reporting/RRHH/personalgeneraldh.aspx"'
                                        new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                                    }

                                }, '-', {
                                    text: '<b>Reporte General Personal</b>',
                                    iconCls: 'personalgeneral',
                                    //yyyyy
                                    handler: function () {
                                       //  var btn = {};
                                      //  btn.titulo = 'Reporte General Personal',
                                     //              btn.src = '"//"'


                                         var el = document.createElement("iframe");
                                         el.setAttribute('id', 'ifrm');
                                         document.body.appendChild(el);
                                         el.setAttribute('src', 'personal/Reportdv/');
                                        new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                                    }

                                }
                                ]
                            }
                        }
                        ]
                    });
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    tbargrid = [{
                        width: 120,
                        emptyText: 'Paterno',
                        xtype: 'searchfield',
                        store: opts.store
                    },
                            '-', {
                                width: 120,
                                emptyText: 'Nombres',
                                xtype: 'searchfield1',
                                store: opts.store
                            },
                            '-', {
                                width: 120,
                                emptyText: 'Ingrese DNI',
                                xtype: 'searchfield2',
                                store: opts.store
                            }
                    ];
                    opts.tbar = tbargrid;
                    //cambiar objeto
                    opts.view = Ext.create('Ext.view.View', {
                        id: 'images-view',
                        store: opts.store,
                        tpl: [
                                '<tpl for=".">',
                                '<div class="thumb-wrap" id="{Id}" style="cursor:pointer; z-index: -1;">',
                                '<div class="thumb"><img style="display: block;margin: auto; vertical-align:middle; background: url(Content/RRHH/Fotos/{Id}.jpg), url(Content/RRHH/Fotos/default.png) #ddd; z-index: 10000;"/></div>',
                                '<span class="x-editable">{Paterno} {Materno} {Nombres}</span></div>',
                                '</tpl>',
                                '<div class="x-clear"></div>'
                        ],
                        multiSelect: false,
                        trackOver: true,
                        overItemCls: 'x-item-over',
                        itemSelector: 'div.thumb-wrap',
                        emptyText: 'No images to display',
                        plugins: [Ext.create('Ext.ux.DataView.DragSelector', {})],
                        listeners: {
                            selectionchange: function (dv, nodes) {
                                var selected = nodes[0];
                                if (selected) {
                                    Ext.getCmp('img-detail-panel').loadRecord(selected);
                                }
                            }
                        }
                    });
                    //fin view data
                    opts.store.loadPage(1);

                    var paneldetail = Ext.create('Ext.panel.Panel', {
                        id: 'img-detail-panel',
                        region: 'east',
                        split: true,
                        width: 200,
                        border: true,
                        tpl: [
                                '<div class="details">',
                                '<tpl for=".">', (!Ext.isIE6 ? '<img style="display: block; margin: auto; vertical-align:middle; background: url(Content/RRHH/Fotos/{Id}.jpg), url(Content/RRHH/Fotos/default.png) #ddd; z-index: 10000; height: 80px; width: 70px; margin-top: 20px;"/>' : /*<img src="Content/RRHH/Fotos/{Id}.jpg" />*/
                                '<div style="width:74px;height:74px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'icons/{thumb}\')"></div>'),
                                '<div class="details-info" style="margin-left: 5px; margin-right: 5px;">',
                                '<hr>',
                                '<b>{Paterno} {Materno} {Nombres}</b>',
                                '<hr>',
                                'Grupo Sanguíeo:<span><a href="Content/RRHH/GrupoSanguineo/{Id}.pdf" target="_blank">{Id}.pdf</a></span>',
                                '<span></span>',
                                '</div>',
                                '</tpl>',
                                '</div>'
                        ],
                        loadRecord: function (image) {
                            this.body.hide();
                            this.tpl.overwrite(this.body, image.data);
                            this.body.slideIn('l', {
                                duration: 250
                            });
                        }
                    });
                    //SE CREA EL PANEL C_PERSONAL
                    panel = Ext.create('Ext.panel.Panel', {
                        title: 'PERSONAL',
                        layout: 'border',
                        bbar: opts.bbar,
                        tbar: tbar,
                        bodyBorder: false,
                        items: [paneldetail, {
                            xtype: 'panel',
                            region: 'center',
                            split: true,
                            items: opts.view,
                            autoScroll: true,
                            border: true
                        }
                        ],
                        border: true

                    });

                    opts.view.on('itemdblclick', function (grid, record, item, index, e) {
                        var p = {};
                        var titulo = record.get('Nombres');
                        var apellidos = record.get('Paterno') + ' ' + record.get('Materno');
                        var nombres = record.get('Nombres');
                        var id = record.get('Id');

                        existe = Ext.getCmp('PContratoadenda' + id);

                        if (!existe) {

                            var pbarproductores = Ext.create('Ext.toolbar.Toolbar', {
                                border: true,
                                width: 400,
                                items: ['->', {
                                    text: 'EPS PROPIOS',
                                    iconCls: 'epspropiosIcon',
                                    handler: function () {
                                        var opts = {
                                            opcion: 'AFILIACIONEPS',
                                            id: id,
                                            apellidos: apellidos,
                                            nombres: nombres
                                        };
                                        Escritorio.RRHH.PPersonal(opts);
                                    }
                                }, '-', {
                                    text: 'Vacaciones',
                                    iconCls: 'vacacionesIcon',
                                    handler: function () {
                                        var opts = {
                                            opcion: 'VACACIONES',
                                            id: id,
                                            apellidos: apellidos,
                                            nombres: nombres
                                        };
                                        Escritorio.RRHH.PPersonal(opts);
                                    }
                                }, '-', {
                                    text: 'Asistencia',
                                    iconCls: 'asistenciaIcon',
                                    handler: function () {
                                        var opts = {
                                            opcion: 'ASISTENCIA',
                                            id: id,
                                            apellidos: apellidos,
                                            nombres: nombres
                                        };
                                        Escritorio.RRHH.PPersonal(opts);
                                    }
                                }, '-', {
                                    text: 'Ausencias',
                                    iconCls: 'asistenciaIcon',
                                    handler: function () {
                                        var opts = {
                                            opcion: 'AUSENCIA',
                                            id: id,
                                            apellidos: apellidos,
                                            nombres: nombres
                                        };
                                        Escritorio.RRHH.PPersonal(opts);
                                    }
                                }, '-', {
                                    xtype: 'splitbutton',
                                    text: 'Sueldo',
                                    iconCls: 'sueldoIcon',
                                    menu: [{
                                        text: 'Centro Costo',
                                        iconCls: 'centrocostoIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'CENTROCOSTO',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            Escritorio.RRHH.PPersonal(opts);
                                        }
                                    }, {
                                        text: 'Otros',
                                        iconCls: 'adelantosIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'ADELANTOS',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            Escritorio.RRHH.PPersonal(opts);
                                        }
                                    }, {
                                        text: 'Prestamos/ Adelantos',
                                        iconCls: 'prestamosIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'PRESTAMOS',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            Escritorio.RRHH.PPersonal(opts);
                                        }
                                    }, {
                                        //AQUI ES DONDE SE LOCALIZA EL DESCUENTO EN INTERFAZ GRÁFICA ELVIS_DESCUENTOS
                                        text: 'Descuentos',
                                        iconCls: 'descuentosIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'DESCUENTOS',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            Escritorio.RRHH.PPersonal(opts);
                                        }
                                    }
                                        ]
                                }, '-', {
                                    xtype: 'splitbutton',
                                    text: 'Renta Quinta',
                                    iconCls: 'sueldoIcon',
                                    menu: [{
                                        text: 'Renta Quinta',
                                        iconCls: 'rentadequintaIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'QUINTA',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            Escritorio.RRHH.PPersonal(opts);
                                        }
                                    }, {
                                        text: 'Certificado Renta Quinta',
                                        iconCls: 'rentadequintaIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'CERTQUINTA',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            //Escritorio.RRHH.FCertQuintaCategoriaEd(opts);
                                            ReporteQuintaTodos(id);
                                        }
                                    }

                                        ]
                                }, '-', {
                                    text: 'Sistema Pension',
                                    iconCls: 'sistemapensionIcon',
                                    handler: function () {
                                        var opts = {
                                            opcion: 'SISTEMAPENSION',
                                            id: id,
                                            apellidos: apellidos,
                                            nombres: nombres
                                        };
                                        Escritorio.RRHH.PPersonal(opts);
                                    }
                                }, '-', {
                                    xtype: 'splitbutton',
                                    text: 'Datos Laborales',
                                    iconCls: 'datoslaboralesIcon',
                                    menu: [{
                                        text: 'Contrato/Adenda',
                                        iconCls: 'contratoIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'CONTRATOS',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            Escritorio.RRHH.PPersonal(opts);
                                        }
                                    }, {
                                        text: 'Periodo Laboral',
                                        iconCls: 'periodolaboralIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'PERIODOLABORAL',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            Escritorio.RRHH.PPersonal(opts);
                                        }
                                    }, {
                                        text: 'CTS',
                                        iconCls: 'saldoprovisionIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'PROVCTS',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            Escritorio.RRHH.PPersonal(opts);
                                        }
                                    }, {
                                        text: 'Derecho Habientes',
                                        iconCls: 'derechohabienteIcon',
                                        handler: function () {
                                            var opts = {
                                                opcion: 'DERECHOHABIENTES',
                                                id: id,
                                                apellidos: apellidos,
                                                nombres: nombres
                                            };
                                            Escritorio.RRHH.PPersonal(opts);
                                        }
                                    }
                                        ]
                                }
                                ]
                            });

                            var paneld = Ext.create('Ext.panel.Panel', {
                                id: 'PContratoadenda' + id,
                                title: titulo.substr(0, 15),
                                layout: 'fit',
                                tbar: pbarproductores,
                                bodyBorder: false,
                                border: false,
                                closable: true
                                //                         ,
                                // items:[
                                //     {
                                //     xtype:'panel',
                                //     id:'PContratoadendax'+id,
                                //     border:false,
                                //     layout:'border',
                                //     items :[paneldetailx
                                //     ,{xtype:'panel',
                                //      region: 'center',
                                //     split: true,
                                //     items:tree,autoScroll:true,border:true,layout:'fit'}]}]
                            });

                            Ext.getCmp('tabproductores').add(paneld);
                            Ext.getCmp('tabproductores').setActiveTab(paneld);

                            //mandar exec
                            var opts = {
                                opcion: 'CONTRATOS',
                                id: id,
                                apellidos: apellidos,
                                nombres: nombres
                            };
                            Escritorio.RRHH.PPersonal(opts);

                        } else {
                            Ext.getCmp('tabproductores').setActiveTab(existe);
                        }
                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }

            } 

            else if (rec.get('id') == 'boletaplanilla') {

                existe = Ext.getCmp('panelCaracterizacionparcela');

                if (!existe) {
                    Ext.Ajax.request({
                        url: 'ejercicio/Comprobarejercicio',
                        success: function (httpReq) {
                            opts.vector = httpReq.responseText;
                            var vec = opts.vector.split("#");
                            //inicio del existe

                            function imonedaperu(val) {
                                if (val == null) {
                                    return '<span style="color:green; font-weight: bold;">0.00</span>';
                                } else {
                                    return '<span style="color:green; font-weight: bold;">' + Ext.util.Format.number(val, '0,000.00') + '</span>';
                                }
                            }

                            function emonedaperu(val) {
                                if (val == null) {
                                    return '<span style="color:red; font-weight: bold;">0.00</span>';
                                } else {
                                    return '<span style="color:red; ">' + Ext.util.Format.number(val, '0,000.00') + '</span>';
                                }
                            }

                            var StrPlanillaBoleta = Ext.create('Ext.data.Store', {
                                model: 'PlanillaBoleta',
                                pageSize: 200,
                                proxy: {
                                    type: 'ajax',
                                    url: 'boletaplanilla/index/' + vec[2] + '/' + 3,
                                    reader: {
                                        type: 'json',
                                        root: 'grid',
                                        totalProperty: 'total'
                                    }
                                }
                            });

                            opts.title = 'PLANILLA';
                            opts.pageSize = 200;

                            opts.store = StrPlanillaBoleta;
                            opts.bbar = Escritorio.Funciones.Paginacion(opts);
                            opts.columns = [
                                {
                                    header: 'Apellidos y Nombres',
                                    dataIndex: 'Persona',
                                    width: 200,
                                    renderer: function (value, metaData, record) {
                                        return '<span style="font-size: 12px; font-weight: bold;">' + (value) + '</span>';
                                    },
                                    locked: true
                                }, {
                                    header: "Nro DI",
                                    dataIndex: 'NroDI',
                                    align: 'center',
                                    width: 80 /*locked   : false, sortable : false*/
                                },
                                {
                                    header: "Cargo",
                                    dataIndex: 'Cargo',
                                    width: 120
                                }, {
                                    header: "Fecha Ingreso",
                                    dataIndex: 'FechaIngreso',
                                    width: 90,
                                    align: 'center'
                                }, {
                                    header: "Meses Dia",
                                    dataIndex: 'DiasMes',
                                    width: 60,
                                    align: 'center'
                                }, {
                                    header: "Dias Vacaciones",
                                    dataIndex: 'DiasVacaciones',
                                    width: 90,
                                    align: 'center'
                                }, {
                                    header: "Sueldo Basico",
                                    dataIndex: 'SueldoBasico',
                                    width: 80,
                                    renderer: function (value, metaData, record) {
                                             if (value != 0) {
                                                        return Ext.util.Format.number(value, '0,000.00');
                                            }
                                         return value.toFixed(2);
                                       // return value == null ? "0.00" : (value).toFixed(2);
                                    }
                                },
                                {
                                    header: "Remuneracion",
                                    dataIndex: 'Remuneracion',
                                    width: 80,
                                    renderer: function (value, metaData, record) {
                                             if (value != 0) {
                                                        return Ext.util.Format.number((value - record.get('Adelanto')), '0,000.00');
                                            }
                                         return value.toFixed(2);
                                        //return value == null ? "0.00" : (value - record.get('Adelanto')).toFixed(2);
                                    }
                                }, {
                                    text: 'Subsidio EsSalud',
                                    width: 90,
                                    dataIndex: 'SubsidioEssalud',
                                    align: 'right',
                                    renderer: function (value, metaData, record) {
                                            if (value != 0) {
                                                        return Ext.util.Format.number(value, '0,000.00');
                                            }
                                         return value.toFixed(2);
                                       // return value == null ? "0.00" : (value).toFixed(2);
                                    }
                                }, {
                                    header: 'Otros',
                                    width: 75,
                                    sortable: true,
                                    dataIndex: 'Otros',
                                    align: 'right',
                                    renderer: imonedaperu
                                }, {
                                    header: 'Gratificacion',
                                    width: 75,
                                    sortable: true,
                                    dataIndex: 'Gratificacion',
                                    align: 'right',
                                    renderer: imonedaperu
                                }, {
                                    header: 'Bonificacion',
                                    width: 85,
                                    sortable: true,
                                    dataIndex: 'BonfExtr',
                                    align: 'right',
                                    renderer: imonedaperu
                                }, {
                                    header: 'Bonifi 35%',
                                    width: 75,
                                    sortable: true,
                                    dataIndex: 'Bonifi35',
                                    align: 'right',
                                    renderer: imonedaperu
                                },{
                                    header: 'Vacaciones',
                                    width: 75,
                                    sortable: true,
                                    dataIndex: 'Vacaciones',
                                    align: 'right',
                                    renderer: imonedaperu
                                },  {
                                    header: 'Asignacion Vacacional',
                                    width: 75,
                                    sortable: true,
                                    dataIndex: 'AsignacionVacacional',
                                    align: 'right',
                                   renderer: imonedaperu 
                                }, {
                                    header: 'Asignacion Familiar',
                                    width: 95,
                                    sortable: true,
                                    dataIndex: 'AsignacionFamiliar',
                                    align: 'right',
                                    renderer: imonedaperu
                                }, {
                                    header: 'Total Ingresos',
                                    width: 75,
                                    sortable: true,
                                    dataIndex: 'TotalIngresos',
                                    renderer: function (value, metaData, record) {
                                        return '<span style="color:green; font-size: 12px; font-weight: bold;">' + Ext.util.Format.number(value, '0,000.00') + '</span>';
                                    }
                                },
                                {
                                    header: 'Nombre AFP',
                                    width: 95,
                                    sortable: true,
                                    dataIndex: 'AFP',
                                    align: 'center'
                                }, {
                                    header: 'AFP',
                                    width: 95,
                                    sortable: true,
                                    dataIndex: 'MontoAFP',
                                    align: 'right',
                                    renderer: emonedaperu
                                }, {
                                    header: 'Renta Quinta',
                                    width: 95,
                                    sortable: true,
                                    dataIndex: 'RentaQuinta',
                                    align: 'right',
                                    renderer: emonedaperu
                                }, {
                                    header: 'Préstamo/Adelanto',
                                    width: 95,
                                    sortable: true,
                                    dataIndex: 'Prestamo',
                                    align: 'right',
                                    renderer: emonedaperu
                                }, {
                                    header: 'Descuento',
                                    width: 95,
                                    sortable: true,
                                    dataIndex: 'Descuento',
                                    align: 'right',
                                    renderer: emonedaperu
                                }, {
                                    header: 'Total Egresos',
                                    width: 75,
                                    sortable: true,
                                    dataIndex: 'TotalEgresos',
                                    align: 'right',
                                    renderer: function (value, metaData, record) {
                                        return '<span style="color:red;font-size: 12px; font-weight: bold;">' + Ext.util.Format.number(value, '0,000.00') + '</span>'
                                    }
                                },
                            //]},
                                {
                                header: 'Neto Pagar',
                                width: 75,
                                sortable: true,
                                dataIndex: 'TotalIngresos',
                                align: 'right',
                                renderer: function (value, metaData, record) {
                                    return '<span style="color:blue; font-size: 12px; font-weight: bold;">' +
                                            Ext.util.Format.number(value- record.get('TotalEgresos'), '0,000.00') + '</span>'
                                   /* return '<span style="color:blue; font-size: 12px; font-weight: bold;">' +
                                            (value - record.get('TotalEgresos')).toFixed(2) + '</span>'*/
                                }
                            }, {
                                header: "ESSALUD",
                                dataIndex: 'EsSalud',
                                width: 90,
                                align: 'right',
                                renderer: function (value, metaData, record) {
                                    return value == null ? "0.00" : (value).toFixed(2)
                                }
                            }

                            ];
                            opts.id = 'gridPlanilla';

                            opts.comboem = Escritorio.Funciones.ComboEjerciciomes(opts);
                            opts.comboe = Escritorio.Funciones.ComboEjercicio(opts);
                            var cmbTipoTrabajador = Escritorio.Funciones.CmbTipoTrabajador(opts);

                            cmbTipoTrabajador.on('select', function (combo) {
                            //getvalue agarra 2,3 o 36
                               // alert(combo.getValue());
                                if (combo.getValue()) {
                                    StrPlanillaBoleta.setProxy({
                                        type: 'ajax',
                                        url: 'boletaplanilla/index/' + (opts.comboem.getValue() ? opts.comboem.getValue() : vec[2]) + '/' + combo.getValue(),
                                        extraParams: {
                                            query: Ext.getCmp('query').getRawValue()
                                        },
                                        reader: {
                                            type: 'json',
                                            root: 'grid',
                                            totalProperty: 'total'
                                        }
                                    });
                                    StrPlanillaBoleta.load();
                                }
                            });

                            opts.comboem.on('select', function (combo) {
                                if (combo.getValue()) {
                                    opts.store.setProxy({
                                        type: 'ajax',
                                        url: 'boletaplanilla/index/' + combo.getValue() + '/' + (cmbTipoTrabajador.getValue() ? cmbTipoTrabajador.getValue() : 3),
                                        extraParams: {
                                            query: Ext.getCmp('query').getRawValue()
                                        },
                                        reader: {
                                            type: 'json',
                                            root: 'grid',
                                            totalProperty: 'total'
                                        }
                                    });
                                    StrPlanillaBoleta.load();
                                }
                            });

                            function CalcularPlanilla() {
                                var idejerciciomes
                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }
                                Ext.Ajax.request({
                                    url: 'boletaplanilla/CrearPlanilla/' + idejerciciomes,
                                    success: function (httpReq) {
                                        var textRes = httpReq.responseText;
                                        if (textRes == '3') {
                                            opts.store.loadPage(1);
                                        } else if (textRes == '1') {
                                            Ext.Msg.show({
                                                title: 'ADVERTENCIA',
                                                msg: 'MES NO ESTA VIGENTE',
                                                buttons: Ext.Msg.OK,
                                                icon: Ext.Msg.INFO
                                            });
                                        }
                                    },
                                    failure: function () {
                                        Ext.Msg.show({
                                            title: 'ERROR',
                                            msg: 'PROBLEMA DEL SERVIDOR',
                                            buttons: Ext.Msg.OK,
                                            icon: Ext.Msg.ERROR
                                        });
                                    }
                                });
                            }

                            function PExportarXl() {
                                var idejerciciomes, IdTipoTrabajador

                                IdTipoTrabajador = (cmbTipoTrabajador.getValue() ? cmbTipoTrabajador.getValue() : 3);

                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }

                                Ext.Ajax.request({
                                    url: 'boletaplanilla/ComprobarReport/' + idejerciciomes,
                                    success: function (httpReq) {
                                        var textRes = httpReq.responseText;
                                        if (textRes) {
                                            //alert("OK");

                                            //    opts.store.loadPage(1);
                                            //Ext.Msg.show({title: 'ERROR',msg: 'PROBLEMA DEL SERVIDOR',buttons: Ext.Msg.OK,icon: Ext.Msg.ERROR});
                                            var testframe = document.createElement("IFRAME");
                                            testframe.id = "testFrame";
                                            testframe.src = 'boletaplanilla/Reportxls/' + idejerciciomes + '/' + IdTipoTrabajador,
                                            document.body.appendChild(testframe);
                                        }
                                    },
                                    failure: function () {
                                        Ext.Msg.show({
                                            title: 'ERROR',
                                            msg: 'PROBLEMA DEL SERVIDOR',
                                            buttons: Ext.Msg.OK,
                                            icon: Ext.Msg.ERROR
                                        });
                                    }
                                });
                            }

                            function ImprimirTodo() {
                                var idejerciciomes, IdTipoTrabajador

                                IdTipoTrabajador = (cmbTipoTrabajador.getValue() ? cmbTipoTrabajador.getValue() : 3);
                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }

                                Ext.Ajax.request({
                                    url: 'boletaplanilla/ComprobarReport/' + idejerciciomes, //+'/'+IdTipoTrabajador,
                                    success: function (httpReq) {
                                        var textRes = httpReq.responseText;
                                        if (textRes == '2') {
                                            //    opts.store.loadPage(1);
                                            //Ext.Msg.show({title: 'ERROR',msg: 'PROBLEMA DEL SERVIDOR',buttons: Ext.Msg.OK,icon: Ext.Msg.ERROR});
                                            var testframe = document.createElement("IFRAME");
                                            testframe.id = "testFrame";
                                            testframe.src = 'boletaplanilla/Report/' + idejerciciomes + '/' + IdTipoTrabajador,
                                            document.body.appendChild(testframe);
                                        } else if (textRes == '1') {
                                            Ext.Msg.show({
                                                title: 'ADVERTENCIA',
                                                msg: 'MES AUN NO PAGADO',
                                                buttons: Ext.Msg.OK,
                                                icon: Ext.Msg.INFO
                                            });
                                        } else if (textRes == '0') {
                                            //    opts.store.loadPage(1);
                                            Ext.Msg.show({
                                                title: 'ERROR',
                                                msg: 'PROBLEMA DEL SERVIDOR',
                                                buttons: Ext.Msg.OK,
                                                icon: Ext.Msg.ERROR
                                            });
                                        }
                                    },
                                    failure: function () {
                                        Ext.Msg.show({
                                            title: 'ERROR',
                                            msg: 'PROBLEMA DEL SERVIDOR',
                                            buttons: Ext.Msg.OK,
                                            icon: Ext.Msg.ERROR
                                        });
                                    }
                                });
                            }

                            function AFPGeneral() {
                                var idejerciciomes

                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }
                                var testframe = document.createElement("IFRAME");
                                testframe.id = "testFrame";
                                testframe.src = 'boletaplanilla/RHAFPGeneral/' + idejerciciomes,
                                document.body.appendChild(testframe);
                            }

                            function boletaPlanilla() {
                                var idejerciciomes, IdTipoTrabajador

                                IdTipoTrabajador = (cmbTipoTrabajador.getValue() ? cmbTipoTrabajador.getValue() : 3);
                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }

                                var btn = {};
                                btn.titulo = 'REPORTE PLANILLA',
                                btn.src = '"Reporting/RRHH/boletaplanilla.aspx?IdEjercicioMes=' + idejerciciomes + '&IdTipoTrabajador=' + IdTipoTrabajador + '"'
                                new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                            }
                            function personalgeneral() {
                                var btn = {};
                                btn.titulo = 'REPORTE GENERAL DE PERSONAL',
                                btn.src = '"Reporting/RRHH/personalgeneral.aspx"'
                                new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                            }
                            function AFPGeneral() {
                                var idejerciciomes;

                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }

                                var btn = {};
                                btn.titulo = 'REPORTE AFP GENERAL',
                                btn.src = '"Reporting/RRHH/AFPGeneral.aspx?IdEjercicioMes=' + idejerciciomes + '"'
                                new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                            }
                            //AQUI ES DONDE SE CREA LA BARRA DE BÚSQUEDA 
                            tbargrid = [opts.comboe, '-', opts.comboem, '-', cmbTipoTrabajador, '->', {
                                width: 170,
                                //fieldLabel: 'Ficha',
                                //labelWidth: 50,
                                id: 'query',
                                emptyText: 'Apellidos y Nombres',
                                xtype: 'searchfield',
                                store: opts.store
                            }, '-', {
                                text: 'Tareas',
                                iconCls: 'bmenu',
                                menu: {
                                    items: [/*'-', {
                                        text: '<b>Imprimir</b>',
                                        menu: {
                                            items: [{
                                                text: '<b>Imprimir Todo</b>',
                                                handler: ImprimirTodo
                                            }, '-', {
                                                text: '<b>Imprimir Seleccionado</b>'
                                            }
                                                    ]
                                        }
                                    }, '-', */{
                                        text: '<b>Calcular Planilla</b>',
                                        handler: CalcularPlanilla
                                    }, '-',
                                    /*{
                                    text: '<b>Pagar Planilla</b>',handler: PagarPlanilla
                                    },*/
                                            {
                                            text: '<b>Exportar</b>',
                                            menu: {
                                                items: [{
                                                    text: '<b>Excel</b>',
                                                    handler: PExportarXl
                                                }, '-'
                                                    ]
                                            }
                                        }/*, {
                                            text: '<b>AFP</b>',
                                            handler: AFPGeneral
                                        }*/
                                        ]
                                }
                            }, '-', {
                                text: 'Reportes',
                                iconCls: 'reporte',
                                menu: {
                                    items: [{
                                                text: '<b>Boleta de Pago</b>',
                                                handler: ImprimirTodo
                                            },{
                                        text: '<b>Planilla General</b>',
                                        iconCls: 'boletaPlanilla',
                                        handler: boletaPlanilla
                                    }, '-', {
                                        text: '<b>Neto Pagar</b>',
                                        iconCls: 'boletaPlanilla',
                                        handler: function () {
                                            var idejerciciomes, IdTipoTrabajador

                                            IdTipoTrabajador = (cmbTipoTrabajador.getValue() ? cmbTipoTrabajador.getValue() : 3);
                                            if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                                idejerciciomes = vec[2];
                                            } else {
                                                idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                            }

                                            var btn = {};
                                            btn.titulo = 'REPORTE NETO A PAGAR',
                                                    btn.src = '"Reporting/RRHH/NetoPagar.aspx?IdEjercicioMes=' + idejerciciomes + '&IdTipoTrabajador=' + IdTipoTrabajador + '"'
                                            new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                                        }
                                    }, '-', {
                                        text: '<b>Impuestos</b>',
                                        iconCls: 'boletaPlanilla',
                                        handler: function () {
                                            var idejerciciomes, IdTipoTrabajador

                                            IdTipoTrabajador = (cmbTipoTrabajador.getValue() ? cmbTipoTrabajador.getValue() : 3);
                                            if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                                idejerciciomes = vec[2];
                                            } else {
                                                idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                            }

                                            var btn = {};
                                            btn.titulo = 'REPORTE TOTAL A PAGAR RENTA DE QUINTA Y ESSALUD',
                                                    btn.src = '"Reporting/RRHH/RentaQuintaESSALUD.aspx?IdEjercicioMes=' + idejerciciomes + '&IdTipoTrabajador=' + IdTipoTrabajador + '"'
                                            new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                                        }
                                    }, '-', {
                                        text: '<b>AFP</b>',
                                        iconCls: 'afp',
                                        handler: AFPGeneral
                                    }
                                    /*,'-', 
                                    {
                                    text: '<b>Pagar Planilla</b>',handler: PagarPlanilla
                                    },
                                    {
                                    text: '<b>Exportar</b>',
                                    menu: {
                                    items: [
                                    {text: '<b>Excel</b>',handler: PExportarXl}, '-']
                                    }
                                    },{
                                    text: '<b>AFP</b>',handler: AFPGeneral
                                    }*/
                                        ]
                                }
                            }
                            ];
                            opts.tbar = tbargrid,
                            opts.grid = Escritorio.Funciones.GridSimple(opts);
                            StrPlanillaBoleta.loadPage(1);

                            panel = Ext.create('Ext.panel.Panel', {
                                id: 'panelCaracterizacionparcela',
                                title: 'Planilla',
                                layout: 'fit',
                                bodyBorder: false,
                                autoScroll: true,
                                //closable:true,
                                items: opts.grid,
                                border: false

                            });
                            //opts.store.loadPage(1);
                            Ext.getCmp('tabproductores').removeAll();
                            Ext.getCmp('tabproductores').add(panel);
                            Ext.getCmp('tabproductores').setActiveTab(panel);
                            //fin del existe
                        }
                    });
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }

            } else if (rec.get('id') == 'AreasPlanilla') {
                existe = Ext.getCmp('PnlAreaPlanilla');
                if (!existe) {

                    Ext.Ajax.request({
                        url: 'ejercicio/Comprobarejercicio',
                        success: function (httpReq) {
                            opts.vector = httpReq.responseText;
                            var vec = opts.vector.split("#");

                            var StrPlanillaAreas = Ext.create('Ext.data.Store', {
                                model: 'planillaareas',
                                pageSize: 200,
                                groupField: 'Proyecto',
                                proxy: {
                                    type: 'ajax',
                                    url: rec.get('hrefTarget') + '/' + vec[2] + '/3',
                                    reader: {
                                        type: 'json',
                                        root: 'grid'
                                    }
                                },
                                autoLoad: true
                            });

                           /* function NumeroConta(val) {
                                return val.toFixed(2);
                            }*/

                             function NumeroConta(value, p, record) {
                            if (value != 0) {
                                return Ext.util.Format.number(value, '0,000.00');
                            }
                            return value.toFixed(2);
                            }

                           /* function NumeroContaSum(val) {
                                return '<span style="font-weight: bold;">' + val.toFixed(2) + '</span>';
                            }*/
                             function NumeroContaSum(value, p, record) {

                                 if (value != 0) {
                                    return '<span style="font-weight: bold;">'+ Ext.util.Format.number(value, '0,000.00')+ '</span>';
                                    }
                                     return value.toFixed(2);
                             }

                            opts.store = StrPlanillaAreas;
                            var cmbtipotra = Escritorio.Funciones.CmbTipoTrabajador(opts);
                            var comboem = Escritorio.Funciones.CmbEjerciciomes(opts);
                            var comboe = Escritorio.Funciones.ComboEjercicio(opts);

                            comboem.on('select', function (combo) {
                                if (combo.getValue()) {
                                    //alert(cmbtipotra.getValue());
                                    StrPlanillaAreas.setProxy({
                                        type: 'ajax',
                                        url: rec.get('hrefTarget') + '/' + combo.getValue() + '/' + (cmbtipotra.getValue() ? cmbtipotra.getValue() : 3),
                                        extraParams: {
                                            query: Ext.getCmp('query').getRawValue()
                                        },
                                        reader: {
                                            type: 'json',
                                            root: 'grid',
                                            totalProperty: 'total'
                                        }
                                    });
                                    StrPlanillaAreas.load();
                                }
                            });

                            cmbtipotra.on('select', function (combo) {
                                if (combo.getValue()) {
                                    StrPlanillaAreas.setProxy({
                                        type: 'ajax',
                                        url: rec.get('hrefTarget') + '/' + (comboem.getValue() ? comboem.getValue() : vec[2]) + '/' + combo.getValue(),
                                        extraParams: {
                                            query: Ext.getCmp('query').getRawValue()
                                        },
                                        reader: {
                                            type: 'json',
                                            root: 'grid',
                                            totalProperty: 'total'
                                        }
                                    });
                                    StrPlanillaAreas.load();
                                }
                            });

                            function CalcularPlanillaContable() {
                                var idejerciciomes;
                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }
                                Ext.Ajax.request({
                                    url: 'planilla/LlenarPlanillaContable/' + idejerciciomes,
                                    success: function (httpReq) {
                                        var textRes = httpReq.responseText;
                                        if (textRes == 'OK') {
                                            StrPlanillaAreas.load();
                                            //    opts.store.loadPage(1);
                                            Ext.Msg.show({
                                                title: 'MENSAJE',
                                                msg: 'SE GENERO CORRECTAMENTE',
                                                buttons: Ext.Msg.OK,
                                                icon: Ext.Msg.INFO
                                            });
                                        } else if (textRes == 'ERROR') {
                                            Ext.Msg.show({
                                                title: 'ADVERTENCIA',
                                                msg: 'CONSULTE CON SISTEMAS',
                                                buttons: Ext.Msg.OK,
                                                icon: Ext.Msg.INFO
                                            });
                                        }
                                    },
                                    failure: function () {
                                        Ext.Msg.show({
                                            title: 'ERROR',
                                            msg: 'PROBLEMA DEL SERVIDOR',
                                            buttons: Ext.Msg.OK,
                                            icon: Ext.Msg.ERROR
                                        });
                                    }
                                });
                            }

                            function PagarPlanillaContable() {
                                var idejerciciomes
                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }

                                var Frm = Ext.create('Ext.form.Panel', {
                                    id: 'FrmInvQR',
                                    frame: true,
                                    bodyPadding: '5',
                                    fieldDefaults: {
                                        msgTarget: 'side',
                                        labelAlign: 'left',
                                        labelWidth: 60,
                                        anchor: '100%'
                                    },
                                    items: [{
                                        xtype: 'datefield',
                                        name: 'Fecha',
                                        allowBlank: false,
                                        fieldLabel: 'Fecha'
                                    }
                                    ],
                                    buttons: [{
                                        text: 'Generar',
                                        handler: function () {

                                            Ext.MessageBox.show({
                                                msg: 'Generando Registros...',
                                                progressText: 'Actualizando...',
                                                width: 300,
                                                icon: 'ext-mb-download'
                                            });

                                            var form = this.up('form').getForm();
                                            if (form.isValid()) {
                                                form.submit({
                                                    url: 'planilla/PagarPlanilla/' + idejerciciomes,
                                                    success: function (form, action) {
                                                        Ext.getCmp('WPPC').close();

                                                        setTimeout(function () {
                                                            Ext.MessageBox.hide();
                                                        }, 1000);
                                                    },
                                                    failure: function (form, action) {
                                                        Ext.Msg.show({
                                                            title: 'Atencion!!',
                                                            msg: action.result.msg,
                                                            buttons: Ext.Msg.OK,
                                                            icon: Ext.Msg.WARNING
                                                        });
                                                    }
                                                });
                                            }
                                        }
                                    }, {
                                        text: 'Limpiar',
                                        handler: function () {
                                            this.up('form').getForm().reset();
                                        }
                                    }
                                    ]
                                });

                                var win = Ext.create('widget.window', {
                                    id: 'WPPC',
                                    title: 'Pagar Planilla, Carga a Contabilidad',
                                    closable: true,
                                    bodyPadding: '5',
                                    bodyBorder: false,
                                    width: 250,
                                    minWidth: 200,
                                    height: 150,
                                    layout: 'fit',
                                    modal: true,
                                    items: [Frm]
                                });

                                win.show();

                                //            Ext.Ajax.request({
                                //                url: 'planilla/LlenarPlanillaContable/'+idejerciciomes,
                                //                success: function (httpReq) {
                                //                var textRes = httpReq.responseText;
                                //                if (textRes == 'OK') {
                                //                StrPlanillaAreas.load();
                                //                //    opts.store.loadPage(1);
                                //                Ext.Msg.show({title: 'MENSAJE',msg: 'SE GENERO CORRECTAMENTE',buttons: Ext.Msg.OK,icon: Ext.Msg.INFO});
                                //                }
                                //                else if(textRes == 'ERROR'){
                                //                Ext.Msg.show({title: 'ADVERTENCIA',msg: 'CONSULTE CON SISTEMAS',buttons: Ext.Msg.OK,icon: Ext.Msg.INFO});
                                //                }},
                                //                failure: function () {
                                //                Ext.Msg.show({title: 'ERROR',msg: 'PROBLEMA DEL SERVIDOR',buttons: Ext.Msg.OK,icon: Ext.Msg.ERROR});
                                //                }
                                //            });
                            }

                            function RevertirPlanillaContable() {
                                var idejerciciomes
                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }

                                            Ext.MessageBox.show({
                                                msg: 'Revertiendo Planilla...',
                                                progressText: 'Actualizando...',
                                                width: 300,
                                                icon: 'ext-mb-download'
                                            });
                                Ext.Ajax.request({
                                                    url: 'planilla/RevertirPlanilla/' + idejerciciomes,
                                                    success: function (form, action) {
                                    Ext.MessageBox.show({   
                                        msg: 'Se revertió la planilla...',
                                        progressText: 'Cargando componentes...',
                                        width: 300,
                                        icon: 'ext-mb-OK'
                                    });
                                    setTimeout(function () {
                                    Ext.MessageBox.hide();
                                     }, 1000);
                                                    },
                                                    failure: function (form, action) {
                                                        Ext.Msg.show({
                                                            title: 'Atencion!!',
                                                            msg: action.result.msg,
                                                            buttons: Ext.Msg.OK,
                                                            icon: Ext.Msg.WARNING
                                                        });
                                                    }
                                });
                                    
                            }

                            function PExpPlanillaAreasXl() {
                                var idejerciciomes, IdTipoTrabajador;

                                IdTipoTrabajador = (cmbtipotra.getValue() ? cmbtipotra.getValue() : 3);

                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }

                                Ext.Ajax.request({
                                    url: 'boletaplanilla/ComprobarReport/' + idejerciciomes,
                                    success: function (httpReq) {
                                        var textRes = httpReq.responseText;
                                        if (textRes) {
                                            var testframe = document.createElement("IFRAME");
                                            testframe.id = "testFrame";
                                            testframe.src = 'planilla/ReportAreas/' + idejerciciomes + '/' + IdTipoTrabajador,
                                            document.body.appendChild(testframe);
                                        }
                                    },
                                    failure: function () {
                                        Ext.Msg.show({
                                            title: 'ERROR',
                                            msg: 'PROBLEMA DEL SERVIDOR',
                                            buttons: Ext.Msg.OK,
                                            icon: Ext.Msg.ERROR
                                        });
                                    }
                                });
                            }

                            function boletaPlanillaArea() {
                                var idejerciciomes, IdTipoTrabajador

                                IdTipoTrabajador = (cmbtipotra.getValue() ? cmbtipotra.getValue() : 3);
                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }

                                var btn = {};
                                btn.titulo = 'REPORTE PLANILLA',
                                btn.src = '"Reporting/RRHH/boletaPlanillaArea.aspx?IdEjercicioMes=' + idejerciciomes + '&IdTipoTrabajador=' + IdTipoTrabajador + '"'
                                new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                            }

                            function AFPArea() {
                                var idejerciciomes;

                                if (Ext.getCmp('Comboejerciciomes').getValue() == null) {
                                    idejerciciomes = vec[2];
                                } else {
                                    idejerciciomes = Ext.getCmp('Comboejerciciomes').getValue();
                                }

                                var btn = {};
                                btn.titulo = 'REPORTE PLANILLA',
                                btn.src = '"Reporting/RRHH/AFPArea.aspx?IdEjercicioMes=' + idejerciciomes + '"'
                                new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                            }

                            var GPPlanillaAreas = Ext.create('Ext.grid.Panel', {
                                id: 'GPPlanillaAreas',
                                store: StrPlanillaAreas,
                                border: false,
                                stateful: false,
                                columnLines: true,
                                layout: 'fit',
                                features: [{
                                    id: 'group',
                                    ftype: 'groupingsummary',
                                    groupHeaderTpl: '{name}'
                                }
                                ],

                                bbar: Ext.create('Ext.PagingToolbar', {
                                    store: StrPlanillaAreas,
                                    displayInfo: true,
                                    displayMsg: 'Registros {0} - {1} de {2}',
                                    emptyMsg: "No Existe Registros para Mostrar"
                                }),

                                columns: [{
                                    text: 'Personal',
                                    width: 200,
                                    /*locked:true,*/dataIndex: 'Personal'
                                }, {
                                    text: 'Cargo',
                                    width: 200,
                                    dataIndex: 'Cargo'
                                }, {
                                    text: 'Meses Dia',
                                    width: 70,
                                    dataIndex: 'MesesDia',
                                    align: 'center'
                                }, {
                                    text: 'Fecha Ingreso',
                                    width: 90,
                                    dataIndex: 'FechaIngreso'
                                }, {
                                    text: 'Vac Dias',
                                    width: 50,
                                    dataIndex: 'VacDias',
                                    align: 'center'
                                }, {
                                    text: 'Coa',
                                    width: 80,
                                    dataIndex: 'Coa',
                                    align: 'center'
                                }, {
                                    text: 'Remuneracion',
                                    width: 90,
                                    dataIndex: 'Remuneracion',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Subsidio EsSalud',
                                    width: 90,
                                    dataIndex: 'SubsidioEssalud',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Gratificacion',
                                    width: 90,
                                    dataIndex: 'Gratificacion',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Bonificacion',
                                    width: 90,
                                    dataIndex: 'Bonificacion',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Otros',
                                    width: 90,
                                    dataIndex: 'Otros',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Bonifi35',
                                    width: 90,
                                    dataIndex: 'Bonifi35',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Vacaciones',
                                    width: 90,
                                    dataIndex: 'Vacaciones',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                },  {
                                    header: 'Asignacion Vacacional',
                                    width: 75,
                                    dataIndex: 'AsignacionVacacional',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                },{
                                    text: 'Asig Fam',
                                    width: 90,
                                    dataIndex: 'AsignacionFamiliar',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Total Ingresos',
                                    width: 90,
                                    dataIndex: 'TotalIngresos',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    header: 'Nombre AFP',
                                    width: 95,
                                    sortable: true,
                                    dataIndex: 'NombreCorto',
                                    align: 'center'
                                }, {
                                    text: 'AFP',
                                    width: 90,
                                    dataIndex: 'AFP',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Rent Quinta',
                                    width: 90,
                                    dataIndex: 'RentaQuinta',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'SEG VIDA',
                                    width: 90,
                                    dataIndex: 'SegVida',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Préstamo/Adelanto',
                                    width: 90,
                                    dataIndex: 'Prestamo',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: function (records) {
                                    var i = 0,
                                            length = records.length,
                                            total = 0,
                                            record;
    
                                    for (; i < length; ++i) {
                                        record = records[i];
                                        total += record.get('Prestamo');
                                    }
                                    //return '<span style="font-size: 11px; font-weight: bold;">'+ (total).toFixed(2) + '</span>';
                                     return '<span style="font-weight: bold;">' + (total).toFixed(2)  + '</span>';
                                }
                                   }, {
                                    text: 'Descuento',
                                    width: 90,
                                    dataIndex: 'Descuento',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Total Egresos',
                                    width: 90,
                                    dataIndex: 'TotalEgresos',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'Neto Por Pagar',
                                    width: 90,
                                    dataIndex: 'Total',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }, {
                                    text: 'ESSALUD',
                                    width: 90,
                                    dataIndex: 'EsSalud',
                                    align: 'right',
                                    renderer: NumeroConta,
                                    summaryType: 'sum',
                                    summaryRenderer: NumeroContaSum
                                }
                                ],
                                tbar: [comboe, '-', comboem, '-', cmbtipotra, '->', {
                                    width: 170,
                                    //fieldLabel: 'Ficha',
                                    //labelWidth: 50,
                                    id: 'query',
                                    emptyText: 'Apellidos y Nombres',
                                    xtype: 'searchfield',
                                    store: StrPlanillaAreas
                                }, '-',
                                //            {
                                //                width: 130,
                                //                //fieldLabel: 'Productor',
                                //                //labelWidth: 60,
                                //                emptyText:'Area',
                                //                xtype: 'searchfield1',
                                //                store: StrPlanillaAreas
                                //            },
                                    {
                                    text: 'Tareas',
                                    iconCls: 'bmenu',
                                    menu: {
                                        items: ['-',
                                        /*{
                                        text: '<b>Imprimir</b>',
                                        menu: {
                                        items: [
                                        {text: '<b>Imprimir Todo</b>',handler: ImprimirTodo}, '-',
                                        {text: '<b>Imprimir Seleccionado</b>'}]
                                        }
                                        }*/
                                                '-', {
                                                    text: '<b>Calcular Planilla Contable</b>',
                                                    handler: CalcularPlanillaContable
                                                }, '-', {
                                                    text: '<b>Pagar Planilla Contable</b>',
                                                    handler: PagarPlanillaContable
                                                },, {
                                                    text: '<b>Revertir Pago de Planilla</b>',
                                                    handler: RevertirPlanillaContable
                                                },  {
                                                    text: '<b>Exportar</b>',
                                                    menu: {
                                                        items: [{
                                                            text: '<b>Excel</b>',
                                                            handler: PExpPlanillaAreasXl
                                                        }, '-'
                                                        ]
                                                    }
                                                } /**/
                                            ]
                                    }
                                }, {
                                    text: 'Reportes',
                                    iconCls: 'reporte',
                                    menu: {
                                        items: [{
                                            text: '<b>Planilla Areas</b>',
                                            iconCls: 'planillaArea',
                                            handler: boletaPlanillaArea
                                        }, '-', {
                                            text: '<b>AFP Areas</b>',
                                            iconCls: 'planillaArea',
                                            handler: AFPArea
                                        }
                                            ]
                                    }
                                }
                                ]
                            });

                            panel = Ext.create('Ext.panel.Panel', {
                                id: 'PnlAreaPlanilla',
                                title: 'Planilla Areas',
                                layout: 'fit',
                                //tbar:tbar,
                                bodyBorder: false,
                                items: GPPlanillaAreas,
                                border: false
                            });

                            Ext.getCmp('tabproductores').removeAll();
                            Ext.getCmp('tabproductores').add(panel);
                            Ext.getCmp('tabproductores').setActiveTab(panel);
                        }
                    });
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            } else if(rec.get('id') == 'LimitesRentaQuinta'){

                existe = Ext.getCmp('panelLimitesRentaQuinta');
                if (!existe) {
                    var cbxpais
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: [cbxpais=Escritorio.Funciones.CmbEjercicios(),'Presione doble clic para ver editar','->',{
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                           handler: function () {
                                var opt = {
                                    title: 'Nuevo',
                                    url: 'limitesrquinta/create',
                                    id: 'frmlimiterquinta',
                                    callback: function () {
                                        var p = {};
                                        p.accion = 'new';
                                        Escritorio.RRHH.Flimiterquinta(p);
                                    },  
                                    width: 807,
                                    height: 214
                                };
                                Escritorio.RRHH.Ventana(opt);
                            }
                        }, '-', {
                            text: 'Eliminar',
                            iconCls: 'eliminar',
                            itemId: 'delete',
                            hrefTarget: 'limitesrquinta/delete/',
                            handler: function (btn) {
                                new Escritorio.RRHH.Window6(btn);
                            }
                        },
                        ]
                    });
                    opts.url = rec.get('hrefTarget');
                    opts.title = 'limites de Quinta';
                    opts.pageSize = 50;
                    opts.fields = ['Idlimitequinta', 'Inferior', 'Superior','Porcentaje','Cardinal','Estado'];
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                        xtype: 'rownumberer',
                        width: 35
                    }, {
                        header: "Id Limite de Quinta",
                        dataIndex: 'Idlimitequinta',
                        hidden: true

                    }, {
                        header: "Inferior",
                        dataIndex: 'Inferior',
                        flex: 1,
                        align: 'right',
                        editor: {
                                    xtype: 'numberfield',
                                    allowBlank: false
                        },
                         renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                    }
                    }, {
                        header: "Superior",
                        dataIndex: 'Superior',
                        flex: 1,
                        align: 'right',
                        editor: {
                                    xtype: 'numberfield',
                                    allowBlank: false
                        },
                        renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                    }
                    }, {
                        header: "Porcentaje",
                        dataIndex: 'Porcentaje',
                        flex: 1,
                        format: '0.00 %',
                        editor: {
                                    xtype: 'numberfield',
                                    allowBlank: false
                        },
                        renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0.00%');
                        }
                    }, {
                        header: "Cardinal",
                        dataIndex: 'Cardinal',
                        flex: 1,
                        editor: {
                                    xtype: 'numberfield',
                                    allowBlank: false
                        },
                    }, {
                        header: "Estado",
                        dataIndex: 'Estado',
                        flex: 1,
                        renderer: function (value) {
                        return value == false ? '<span style="color:red;">'+"Inactivo"+'</span>':'<span style="color:green;">'+"Activo"+'</span>';
                        },
                        editor: {
                                    xtype: 'checkbox',
                                    cls: 'x-grid-checkheader-editor'
                                    //allowBlank: false
                                }
                    }
                    ];
                    opts.id = 'gridLimitesRentaQuinta';
                    var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                            clicksToMoveEditor: 2,
                            autoCancel: false
                        });
                    tbargrid = ['-', '-', {
                        width: 200,
                        emptyText: 'Nombre',
                        xtype: 'searchfield',
                        store: opts.store
                    }, '-'
                    ];
                    opts.plugins = [rowEditing];
                    opts.grid = Escritorio.Funciones.GridSimple(opts);
                    opts.store.loadPage(1);

                    opts.grid.on('edit', function (editor, e) {
                         var Seleccion3 = Ext.getCmp('gridLimitesRentaQuinta').getSelectionModel().getSelection()[0];
                        
                         var gridEPrtmo = Ext.getCmp('gridLimitesRentaQuinta');
                        var selecciones = gridEPrtmo.getSelectionModel().getSelection()[0];
                        //alert(selecciones.get('Idlimitequinta'));
                        Ext.Ajax.request({
                                url: 'limitesrquinta/manual/' + selecciones.get('Idlimitequinta'),
                                params: {
                                    Inferior: selecciones.get('Inferior'),
                                    Superior: selecciones.get('Superior'),
                                    Porcentaje: selecciones.get('Porcentaje'),
                                    Cardinal: selecciones.get('Cardinal'),
                                    Estado: selecciones.get('Estado')
                                },
                                success: function (httpReq) {
                                    var textRes = httpReq.responseText;
                                    if (textRes == 'ERROR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'No se actualizo Retencion</br>Guarde Otra vez',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } else {
                                        opts.store.load();
                                    }
                                },
                                failure: function () {
                                    alert('Error, Ha ocurrido un error al procesar los datos');
                                }
                            });

                        });


                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelLimitesRentaQuinta',
                        title: 'LIMITES DE QUINTA',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        items: opts.grid,
                        border: false,
                        listeners: {
                                element  : 'el',
                                dblclick : function(btn) {
                                  //    alert('el xx.id es: '+Idlimitequinta);
                                     // alert('el xx.id es: '+opt.id);
                                      //alert('el xx.id es: '+xx.id);
                         var gridEPrtmo = Ext.getCmp('gridLimitesRentaQuinta');
                        var selecciones = gridEPrtmo.getSelectionModel().getSelection()[0];
                     /* var detallepanel = null;
                                    opts3 = {
                                        id: xx.id,     
                                    };
            
                                    Escritorio.RRHH.TraerIdDescuentos(opts2);
                                    
                                    detallepanel =  Ext.create('Ext.tab.Panel', {
                                        region: 'south',
                                        title: 'Descuento #'+opts2.idPrestamoSeleccionado,
                                        closable: true,
                                        height:250,
                                        items: [{
                                                xtype: 'panel',
                                                title: 'DETALLE DEL DESCUENTO',
                                                layout: 'fit',
                                                items: opts2.grid
                                        }]
                                    });
                                    Ext.getCmp('idPanelDetalleDescuentos').removeAll();
                                    Ext.getCmp('idPanelDetalleDescuentos').add(detallepanel);
                                    Ext.getCmp('idPanelDetalleDescuentos').setActiveTab(detallepanel);*/
            
                                }
                            }
                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            }
            else if (rec.get('id') == 'costosistemadepensiones') {
                //                
                existe = Ext.getCmp('panelCostosistemadepensiones');
                if (!existe) {
                    //                    var GridS = Ext.getCmp('gridCostosistemadepensiones');
                    //                    var sx = GridS.getSelectionModel().getSelection()[0];
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['Presione doble clic para editar','->', {
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                            itemId: 'create',
                            hrefTarget: 'costosistemadepensiones/create',
                            handler: function (btn) {
                                new SistIntegral.RRHH.Frmcostosistemadepensiones().Window(btn);
                            }
                        }, '-', {
                            text: 'Eliminar',
                            iconCls: 'deleteIcon',
                            hrefTarget: 'costosistemadepensiones/Delete',
                            handler: function () {
                                var opts = {
                                    tabla: 'COSTOSISTEMADEPENSIONES',
                                    url: 'costosistemadepensiones/Delete/'
                                };
                                Escritorio.RRHH.Eliminar(opts);
                            }
                        }
                        ]
                    });

                    var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                        clicksToMoveEditor: 1,
                        autoCancel: false
                    });

                    opts.url = rec.get('hrefTarget');
                    opts.title = 'COSTOS DE LOS SISTEMAS DE PENSIONES POR PERIODO Y MES';
                    opts.pageSize = 10;
                    opts.fields = ['Id', 'SistemaPension', 'IdSistemaPensiones', 'Fondo', 'Comision', 'ComisionMixta', 'Seguro', 'TopeSeguro', 'Mes', 'Editable'];
                    opts.groupField = 'Mes';
                    opts.sorters = [{
                        property: 'Mes',
                        direction: 'DESC'
                    }
                    ];
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    var par = {};
                    par.url = 'sistemapension/index';
                    par.fields = ['IdSistemaPensiones', 'Nombre', 'Descripcion'];
                    par.pageSize = 15;
                    par.emptyText = 'Seleccione Motivo Ausencia'
                    par.store  =   Escritorio.Funciones.StoreSimple(par);
        //alert(par.store);
                    opts.columns = [{
                        xtype: 'rownumberer',
                        width: 35
                    },
                    //{header: "Codigo", dataIndex: 'Id', hidden: true},
                        {
                        header: "Sistema Pension",
                        dataIndex: 'SistemaPension',
                        width: 150,
                        editor: {
                            xtype: 'combo',
                            store: par.store,
                            allowBlank: false,
                            displayField: 'Descripcion',
                            editable: false,
                            queryMode: 'remote',
                            triggerAction: 'all',
                            valueField  : 'IdSistemaPensiones',
                            width:250,
                            loadingText: 'Buscando...',
                            emptyText: 'Selecciona motivo',
                            getInnerTpl: function() {
                                        return '<a>' +
                                        '<h3></span>{Nombre}'+'</h3>' +
                                        '</a>';
                            }
                        },
                    },
                    //{header: "Nombres", dataIndex: 'Nombres', width: 150},
                        {
                        xtype: 'numbercolumn',
                        header: 'Fondo',
                        dataIndex: 'Fondo',
                        format: '0.00%',
                        width: 90,
                        editor: {
                            xtype: 'numberfield',
                            allowBlank: false,
                            minValue: 0,
                            maxValue: 100
                        },
                        renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0.00%');
                        }
                    }, {
                        xtype: 'numbercolumn',
                        header: 'Comision',
                        dataIndex: 'Comision',
                        format: '0.00%',
                        width: 90,
                        editor: {
                            xtype: 'numberfield',
                            allowBlank: false,
                            minValue: 0,
                            maxValue: 100
                        },
                        renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0.00%');
                        }
                    }, {
                        xtype: 'numbercolumn',
                        header: 'Comision Mixta 2',
                        dataIndex: 'ComisionMixta',
                        format: '0.00%',
                        width: 90,
                        editor: {
                            xtype: 'numberfield',
                            allowBlank: false,
                            minValue: 0,
                            maxValue: 100
                        },
                        renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0.00%');
                        }
                    }, {
                        xtype: 'numbercolumn',
                        header: 'Seguro',
                        dataIndex: 'Seguro',
                        format: '0.00%',
                        width: 90,
                        editor: {
                            xtype: 'numberfield',
                            allowBlank: false,
                            minValue: 0,
                            maxValue: 100
                        },
                        renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0.00%');
                        }
                    }, {
                        xtype: 'numbercolumn',
                        header: 'Tope Seguro',
                        dataIndex: 'TopeSeguro',
                        format: 'S/ 0,000.00',
                        width: 90,
                        align: 'right',
                        editor: {
                            xtype: 'numberfield',
                            allowBlank: false,
                            minValue: 0,
                            maxValue: 10000
                        },
                          renderer: function (value, metaData, record) {
                           return  Ext.util.Format.number(value, '0,000.00');
                       }

                    }
                    //{header: "DNI", dataIndex: 'Dni', width: 80},
                    //{header: 'Ubicacion', dataIndex: 'Caserio', flex: 1}
                    ];
                    opts.id = 'gridCostosistemadepensiones';
                     var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                            clicksToMoveEditor: 2,
                            autoCancel: false
                     });
                    opts.plugins = [rowEditing];

                    tbargrid = [{
                        width: 300,
                        fieldLabel: 'Productor',
                        labelWidth: 70,
                        emptyText: 'Ingrese Apellidos y Nombres',
                        xtype: 'searchfield',
                        store: opts.store
                    }, '-', {
                        width: 180,
                        fieldLabel: 'DNI',
                        labelWidth: 40,
                        emptyText: 'Ingrese DNI',
                        xtype: 'searchfield1',
                        store: opts.store
                    }
                    ];
                    //opts.tbar   =  tbargrid;
                    opts.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        groupHeaderTpl: '{name}',
                        hideGroupedHeader: false,
                        enableGroupingMenu: false
                    },
                    opts.grid = Escritorio.Funciones.GridAgrupado(opts);
                    opts.store.loadPage(1);
                                        opts.grid.on('edit', function (editor, e) {

                            var GridS = Ext.getCmp('gridCostosistemadepensiones');
                            var seleccion = GridS.getSelectionModel().getSelection()[0];
                            var combito = seleccion.get('SistemaPension');

                            if(combito=='DECRETO LEY 19990 - SISTEMA NACIONAL DE PENSIONES - ONP'){
                                   combito = '6';
                            }
                            if(combito=='DECRETO LEY 20530 - SISTEMA NACIONAL DE PENSIONES'){
                                   combito = '5';
                            }
                            if(combito=='SIN REGIMEN PENSIONARIO'){
                                   combito = '7';
                            }
                            if(combito=='SPP HABITAT'){
                                   combito = '9';
                            }
                            if(combito=='SPP HORIZONTE'){
                                   combito = '2';
                            }
                            if(combito=='INTEGRA'){
                                   combito = '1';
                            }
                            if(combito=='PRIMA'){
                                   combito = '4';
                            }
                            if(combito=='PROFUTURO'){
                                   combito = '3';
                            }
                            //alert(combito);
                           // alert(combito2);
                               // alert(seleccion.get('Sistemapension'));
                              //  alert(seleccion.get('NombreAfiliacion'));
                              /*alert('Fondo: '+seleccion.get('Fondo'));
                              alert('Comison: '+seleccion.get('Comision'));
                              alert('comisionmixta: '+seleccion.get('ComisionMixta'));
                              alert('seguro: '+seleccion.get('Seguro'));
                              alert('topeseguro: '+seleccion.get('TopeSeguro'));
                              alert(combito);*/
                            Ext.Ajax.request({
                                url: 'costosistemadepensiones/Actualizar/' +  seleccion.get('Id'),
                                params: {
                                    fondo: seleccion.get('Fondo'),
                                    comision: seleccion.get('Comision'),
                                    comisionmixta: seleccion.get('ComisionMixta'),
                                    seguro: seleccion.get('Seguro'),
                                    topeseguro: seleccion.get('TopeSeguro'),
                                    IdSistemaPensiones : combito
                                },
                                success: function (httpReq) {
                                    var textRes = httpReq.responseText;
                                    if (textRes == 'ERROR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'No se actualizo Retencion</br>Guarde Otra vez',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } else {
                                        opts.store.load();
                                    }
                                },
                                failure: function () {
                                    alert('Error, Ha ocurrido un error al procesar los datos');
                                }
                            });

                        });
/*
                    opts.grid.on('edit', function () {
                        var GridS = Ext.getCmp('gridCostosistemadepensiones');
                        var sx = GridS.getSelectionModel().getSelection()[0];

                        if (sx.get('Editable') == true) {
                            Ext.Ajax.request({
                                url: 'costosistemadepensiones/Actualizar/' + sx.get('Id'),
                                params: {
                                    fondo: sx.get('Fondo'),
                                    comision: sx.get('Comision'),
                                    comisionmixta: sx.get('ComisionMixta'),
                                    seguro: sx.get('Seguro'),
                                    topeseguro: sx.get('TopeSeguro')
                                },
                                success: function (httpReq) {
                                    var textRes = httpReq.responseText;
                                    if (textRes == 'ERROR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'NO SE ACTUALIZO EL REGISTRO</br>INTENTE OTRA VEZ',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } else {
                                        opts.store.load();
                                    }
                                },
                                failure: function () {
                                    alert('Error, Ha ocurrido un error al procesar los datos');
                                }
                            });
                        } else {
                            opts.store.load();
                            Ext.Msg.show({
                                title: 'INFORMACION',
                                msg: 'YA HA PAGADO BOLETAS CON ESTOS MONTOS</br>NO PUEDE REALIZAR CAMBIOS',
                                icon: Ext.MessageBox.INFO,
                                buttons: Ext.Msg.OK
                            });
                        }

                    });*/

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelCostosistemadepensiones',
                        title: 'Costo Sistema Pension',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        items: opts.grid,
                        border: false

                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }

            } else if (rec.get('id') == 'directoriopersonal') {

                existe = Ext.getCmp('panelDirectoriopersonal');
                if (!existe) {
                   // opts.url = rec.get('hrefTarget');
                    opts.url = 'personal/directorioactivos';
                    opts.title = 'DIRECTORIO PERSONAL FONCREAGRO';
                    opts.pageSize = 8000;
                    opts.fields = ['Id', 'NomApe', 'Area', 'NumTelf', 'CelPer', 'CelInst', 'Email','NroContrato','FechaInicio','FechaFin','Estado'];                      opts.sorters = [{
                        property: 'Mes',
                        direction: 'DESC'
                    }
                    ];
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                   tbarDirectorio = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['-', {
                                                width: 150,
                                                //AQUI SE CREA EL CUADRO DE BUSQUEDA DE APELLIDOS Y NOMBRES DE PERSONAL C_PERSONAL
                                                emptyText: 'Apellidos y Nombres',
                                                xtype: 'searchfield',
                                                store: opts.store
                                    },
                                    '-',
                                    'Todos',{                        
                                                fieldLabel: '',
                                                xtype: 'checkbox',
                                                name: 'myCheckBox2',
                                                listeners: {
                                                    change:  function(checkbox, checked) {
                                            
                                                            if(checked==false){
        
                                                                //Ext.getCmp('myTextField').setDisabled(!checked);
                                                               //Escritorio.Funciones.StoreSimple3();
                                                               //alert('PULSADO FALSOS');
                                                                Escritorio.Funciones.StoreSimple4();

                                                            }
                                                            if(checked==true){
                        
                                                                //Ext.getCmp('myTextField').setDisabled(!checked);
                                                                
                                                                //alert('PULSADO VERDADERO');
                                                                Escritorio.Funciones.StoreSimple5();
                                                            } 
                                                    }
                                                }
                                    }
                                ]
                    });
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                                      xtype: 'rownumberer',
                        width: 35
                    }, {
                        header: "Codigo",
                        dataIndex: 'Id',
                        hidden: true
                    }, {
                        header: "Nombres y Apellidos",
                        dataIndex: 'NomApe',
                        width: 180
                    }, {
                        header: "Area",
                        dataIndex: 'Area',
                        width: 150
                    }, {
                        header: "Telefono",
                        dataIndex: 'NumTelf',
                        width: 80
                    }, {
                        header: "Cel Personal",
                        dataIndex: 'CelPer',
                        flex: 1
                    }, {
                        header: "Cel Inst",
                        dataIndex: 'CelInst',
                        width: 80
                    }, {
                        header: "Email",
                        dataIndex: 'Email',
                        flex: 1
                    },{
                        header: "# Contrato",
                        dataIndex: 'NroContrato',
                        flex: 1
                    },{
                        header: "Fecha Inicio",
                        dataIndex: 'FechaInicio',
                        flex: 1
                    },{
                        header: "Fecha Fin",
                        dataIndex: 'FechaFin',
                        flex: 1
                    }
                    , {
                        header: "ESTADO",
                        dataIndex: 'Estado',
                        flex: 1,
                        renderer: function (value) {
                        return value =="Inactivo" ?'<span style="color:red;">'+"Inactivo"+'</span>':'<span style="color:green;">'+"Activo"+'</span>';
                        }
                    }
                    ];
                    opts.id = 'gridDirectoriopersonal';
                    tbargrid = [{
                        width: 200,
                        //fieldLabel: 'Productor',
                        //labelWidth: 70,
                        emptyText: 'Apellidos y Nombres',
                        xtype: 'searchfield',
                        store: opts.store
                    }, '-', {
                        width: 150,
                        emptyText: 'Ingrese DNI',
                        xtype: 'searchfield1',
                        store: opts.store
                    }
                    ];
                    opts.grid = Escritorio.Funciones.GridSimple(opts);
                    opts.store.loadPage(1);

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelDirectoriopersonal',
                        title: 'Directorio',
                        layout: 'fit',
                        tbar:tbarDirectorio,
                        bodyBorder: false,
                        items: opts.grid,
                        border: false

                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            } else if (rec.get('id') == 'bonifi35') {

                existe = Ext.getCmp('panelBonifi35');
                if (!existe) {

                    Ext.Ajax.request({

                        url: 'ejercicio/Comprobarejercicio',
                        success: function (httpReq) {
                            opts.vector = httpReq.responseText;
                            var vec = opts.vector.split("#");

                            opts.urlx = rec.get('hrefTarget');
                            opts.url = 'bonifi35/index/' + vec[2];
                            //opts.title  =   'GRATIFICACION 35%';
                            opts.pageSize = 100;
                            opts.fields = ['Id', 'Personal'];
                            //opts.sorters = [{property : 'Mes',direction: 'DESC'}];
                            opts.store = Escritorio.Funciones.StoreSimple(opts);
                            opts.bbar = Escritorio.Funciones.Paginacion(opts);
                            opts.columns = [{
                                xtype: 'rownumberer',
                                width: 35
                            }, {
                                header: "Personal",
                                dataIndex: 'Personal',
                                flex: 1
                            }
                            ];
                            opts.id = 'gridBonifi35';

                            opts.comboem = Escritorio.Funciones.ComboEjerciciomes(opts);
                            opts.comboe = Escritorio.Funciones.ComboEjercicio(opts);

                            opts.tbar = [opts.comboe, opts.comboem, '->', {
                                text: 'Nuevo',
                                iconCls: 'nuevoIconSmall',
                                handler: function () {
                                    var opt = {
                                        title: 'AGREGAR REGISTRO',
                                        url: 'bonifi35/create',
                                        id: 'frmBonifi35',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            Escritorio.RRHH.FBonifi35(p);
                                        },
                                        width: 470,
                                        height: 300
                                    };
                                    Escritorio.RRHH.Ventana(opt);
                                }
                            }, '-', {
                                text: 'Editar',
                                iconCls: 'editIconSmall',
                                handler: function () {
                                    var opts = {
                                        tabla: 'PRODUCTOR'
                                    };
                                    Escritorio.Productores.Editar(opts);
                                }
                            }
                            ];
                            opts.grid = Escritorio.Funciones.GridSimple(opts);
                            opts.store.loadPage(1);

                            panel = Ext.create('Ext.panel.Panel', {
                                id: 'panelBonifi35',
                                title: 'BONIFICACION',
                                layout: 'fit',
                                /*tbar:[{text: 'Nuevo', iconCls: 'nuevoIconSmall',
                                handler : function () {
                                var opt = {title : 'Nuevo Productor',
                                url : 'productor/create',id: 'frmProductor',
                                callback : function () {
                                var p = {};
                                p.accion = 'new';
                                Escritorio.Productores.FProductor(p);},
                                width: 470,height :300
                                };
                                Escritorio.Productores.Ventana(opt);
                                }
                                },opts.comboe,opts.comboem],*/
                                bodyBorder: false,
                                items: opts.grid,
                                border: false

                            });

                            Ext.getCmp('tabproductores').removeAll();
                            Ext.getCmp('tabproductores').add(panel);
                            Ext.getCmp('tabproductores').setActiveTab(panel);
                        }
                    });
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            } else if (rec.get('id') == 'cargaasistencia') {
                existe = Ext.getCmp('panelcargaasistencia');

                if (!existe) {

                    var anio = new Date().getFullYear();
                    var mes = new Date().getMonth();
                    var nro_dias = ObtenerNumeroDias(anio, mes);

                    var storeAsistencia = new Ext.data.Store({
                        fields: ['IdPersonal', 'Personal', 'Fotocheck', 'IdProyecto', 'CodigoPy', 'Proyecto', 'Cargo', 'FechaAsistencia',
                        'Hora01', 'Evento01', 'Hora02', 'Evento02', 'Hora03', 'Evento03', 'Hora04', 'Evento04', 'Hora05', 'Evento05',
                        'Hora06', 'Evento06', 'Hora07', 'Evento07', 'Hora08', 'Evento08', 'Hora09', 'Evento09', 'Hora10', 'Evento10'],
                        pageSize: 999999999999999,
                        groupers: ['Proyecto', 'Personal'],
                        groupDir: 'ASC',
                        proxy: {
                            type: 'ajax',
                            url: "personal/ReportaAsistencia",
                            extraParams: {
                                IdPersonal: -1,
                                FechaInicio: new Date(anio, mes, 01),
                                FechaFin: new Date(anio, mes, nro_dias),
                                IdProyecto: -1
                            },
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        }
                        , autoLoad: true
                    });

                    function recargaStoreAsistencia() {
                        var id = Ext.getCmp('comboProyPersonal').getValue();
                        id == null ? id = -1 : null;
                        var fi = Ext.getCmp('FechaInicio').getRawValue();
                        var ff = Ext.getCmp('FechaFin').getRawValue();
                        var idp = Ext.getCmp('comboProyAsistencia').getValue();
                        idp == null ? idp = -1 : null;

                        storeAsistencia.reload({
                            params: {
                                IdPersonal: id,
                                FechaInicio: fi,
                                FechaFin: ff,
                                IdProyecto: idp
                            }
                        });
                    }

                    var gridAsistencia = Ext.create('Ext.grid.Panel', {
                        id: 'gridAsistencia',
                        columnLines: true,
                        layout: 'fit',
                        region: 'center',
                        border: false,
                        loadMask: true,
                        store: storeAsistencia,
                        emptyText: '<div style="font-size: 12px; font-family: Tahoma, Arial; text-align:center; padding: 5px;">NO EXISTEN REGISTROS ENTRE ESTAS LAS FECHAS</div>',
                        columns: [{
                            header: "#",
                            xtype: 'rownumberer',
                            width: 50
                        },
                            {
                                header: "Fecha",
                                dataIndex: 'FechaAsistencia',
                                format: 'd/m/Y',
                                width: 120,
                                sortable: false
                            },
                            
                            {

                                text: 'Marcación 1',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora01' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento01' }
                                ]
                            },
                            {
                                text: 'Marcación 2',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora02' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento02' }
                                ]
                            },
                            {
                                text: 'Marcación 3',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora03' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento03' }
                                ]
                            },
                            {
                                text: 'Marcación 4',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora04' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento04' }
                                ]
                            },
                            {
                                text: 'Marcación 5',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora05' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento05' }
                                ]
                            },
                            {
                                text: 'Marcación 6',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora06' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento06' }
                                ]
                            },
                            {
                                text: 'Marcación 7',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora07' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento07' }
                                ]
                            },
                            {
                                text: 'Marcación 8',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora08' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento08' }
                                ]
                            },
                            {
                                text: 'Marcación 9',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora09' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento09' }
                                ]
                            },
                            {
                                text: 'Marcación 10',
                                sortable: false,
                                columns: [
                                    { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora10' },
                                    { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento10' }
                                ]
                            }

                        ],
                        features: [
                            {
                                ftype: 'multigrouping', //ftype:'grouping',
                                groupHeaderTpl: '{name}'
                            }
                        ],
                        bbar: Ext.create('Ext.PagingToolbar', {
                            store: storeAsistencia,
                            displayInfo: true,
                            displayMsg: '{0} - {1} de {2}',
                            emptyMsg: "0 Registros"
                        })
                    });

                    var storeProyAsistencia = new Ext.data.Store({
                        fields: ['IdProyecto', 'Codigo', 'Proyecto'],
                        pageSize: 15,
                        proxy: {
                            type: 'ajax',
                            url: 'proyecto/index',
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        },
                        autoLoad: true
                    });

                    var storeProyPersonal = new Ext.data.Store({
                        fields: ['Id', 'Personal', 'Dni'],
                        pageSize: 15,
                        autoLoad: true,
                        proxy: {
                            type: 'ajax',
                            url: 'personal/PersonalActivo',
                            params: {
                                IdProyecto: -1
                            },
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        },
                        autoLoad: true
                    });

                    var initial = 0;
                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelcargaasistencia',
                        title: 'Asistencia Personal',
                        layout: 'fit',
                        border: false,
                        tbar: [
                            {
                                id: 'FechaInicio',
                                xtype: 'datefield',
                                format: 'd/m/Y',
                                submitFormat: 'Y-m-d H:i:s',
                                width: 155,
                                labelWidth: 55,
                                fieldLabel: 'Buscar de:',
                                value: new Date(anio, mes, 01),
                                listeners: {
                                    'select': function () {
                                        if (this.getValue() > Ext.getCmp('FechaFin').getValue()) {
                                            Ext.getCmp('FechaFin').setValue(Ext.Date.add(this.getValue(), Ext.Date.DAY, 1));
                                        }
                                        recargaStoreAsistencia();
                                    }
                                }
                            },
                            {
                                id: 'FechaFin',
                                xtype: 'datefield',
                                format: 'd/m/Y',
                                width: 110,
                                labelWidth: 10,
                                fieldLabel: 'a:',
                                value: new Date(anio, mes, nro_dias),
                                listeners: {
                                    'select': function () {
                                        if (Ext.getCmp('FechaInicio').getValue() > this.getValue()) {
                                            Ext.getCmp('FechaInicio').setValue(Ext.Date.add(this.getValue(), Ext.Date.DAY, -1));
                                        }
                                        recargaStoreAsistencia();
                                    }
                                }
                            },
                            '-',
                            {
                                id: 'comboProyAsistencia',
                                xtype: 'combo',
                                valueField: 'IdProyecto',
                                displayField: 'Proyecto',
                                queryMode: 'remote',
                                store: storeProyAsistencia,
                                enableKeyEvents: true,
                                forceSelection: true,
                                pageSize: 15,
                                emptyText: 'Todos',
                                minChars: 2,
                                width: 250,

                                listeners: {
                                    'select': function () {
                                        storeProyPersonal.reload({
                                            params: {
                                                start: 0,
                                                IdProyecto: this.getValue()
                                            }
                                        });
                                        recargaStoreAsistencia();

                                    },
                                    'change': function () {
                                        if (this.getValue() == null) {
                                            this.setValue('');
                                            storeProyPersonal.reload({
                                                params: {
                                                    IdProyecto: -1
                                                }
                                            });
                                            recargaStoreAsistencia();
                                        }
                                    }
                                },
                                listConfig: {
                                    loadingText: 'Buscando...',
                                    emptyText: 'Sin Resultados',
                                    getInnerTpl: function () {
                                        return '<a>' +
                                            '<h3 style="font-size: 12px; font-family: Tahoma, Arial;">{Proyecto}' + '</h3>' +
                                            '<h4 class="nombrecorto">Codigo: {Codigo}</h4>' +
                                        '</a>';
                                    }

                                }
                            },
                            {
                                id: 'comboProyPersonal',
                                xtype: 'combo',
                                valueField: 'Id',
                                displayField: 'Personal',
                                queryMode: 'remote',
                                store: storeProyPersonal,
                                enableKeyEvents: true,
                                forceSelection: true,
                                triggerAction: 'all',
                                pageSize: 15,
                                emptyText: 'Todos',
                                autoShow: true,
                                minChars: 2,
                                width: 250,

                                listeners: {
                                    'select': function () {
                                        recargaStoreAsistencia();
                                    },
                                    'change': function () {
                                        if (this.getValue() == null) {
                                            this.setValue(-1);
                                            recargaStoreAsistencia();
                                        }
                                    },
                                    'click': {
                                        element: 'el', //bind to the underlying el property on the panel
                                        fn: function () {
                                            if (initial == 0) {
                                                var id = Ext.getCmp('comboProyAsistencia').getValue();
                                                if (id == null) { id = -1; }
                                                storeProyPersonal.reload({
                                                    params: {
                                                        IdProyecto: id
                                                    }
                                                });
                                                initial = 1;
                                            }
                                        }
                                    }
                                },
                                listConfig: {
                                    loadingText: 'Buscando...',
                                    emptyText: '<div style="font-size: 12px; font-family: Tahoma, Arial; text-align:center; padding: 5px;">SIN RESULTADOS</div>',
                                    getInnerTpl: function () {
                                        return '<a>' +
                                            '<h3 style="font-size: 12px; font-family: Tahoma, Arial;">{Personal}' + '</h3>' +
                                            '<h5 style="font-size: 11px; font-family: Tahoma, Arial; font-weight: normal;">DNI: {Dni}</h5>' +
                                        '</a>';
                                    }

                                }
                            },
                            '->',
                            {
                                text: 'Exportar',
                                iconCls: 'nuevoIconSmall',
                                handler: function () {
                                    var id = Ext.getCmp('comboProyPersonal').getValue();
                                    if (id == null) { id = -1; }
                                    var fi = Ext.getCmp('FechaInicio').getRawValue();
                                    var ff = Ext.getCmp('FechaFin').getRawValue();
                                    var idp = Ext.getCmp('comboProyAsistencia').getValue();
                                    if (idp == null) { idp = -1; }

                                    var btn = {};
                                    btn.titulo = 'ASISTENCIA DEL PERSONAL DESDE ' + fi + ' HASTA ' + ff;
                                    var srsTmp = encodeURI('Reporting/RRHH/ReporteAsistencia.aspx?IdPersonal=' + id + '&FechaInicio=' + fi + '&FechaFin=' + ff + '&IdProyecto=' + idp);
                                    btn.src = srsTmp;
                                    //console.log(btn.src);
                                    new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                                }
                            },
                            '-',
                            {
                                text: 'Cargar',
                                iconCls: 'editIconSmall',
                                handler: function () {
                                    fbexcel();
                                }
                            }
                        ],
                        items: gridAsistencia
                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);

                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }

            } else if (rec.get('id') == 'vacacionespordias') {

                existe = Ext.getCmp('panelVacacionespordias');
                if (!existe) {
                    opts.url = rec.get('hrefTarget');
                    //opts.title = 'VACACIONES';
                    opts.pageSize = 99999999;
                  /*  opts.fields = ['Personal', 'FechaInicio','Anio','FechaActual', 'Record', 'Gozado', 'IdTipoTrabajador',
                            'ENERO', 'CCENERO', 'FEBRERO', 'CCFEBRERO', 'MARZO', 'CCMARZO', 'ABRIL', 'CCABRIL',
                            'MAYO', 'CCMAYO', 'JUNIO', 'CCJUNIO', 'JULIO', 'CCJULIO', 'AGOSTO', 'CCAGOSTO',
                            'SEPTIEMBRE', 'CCSEPTIEMBRE', 'OCTUBRE', 'CCOCTUBRE', 'NOVIEMBRE', 'CCNOVIEMBRE', 'DICIEMBRE', 'CCDICIEMBRE'
                    ];
*/
                tbargrid = [{
                        width: 120,
                        emptyText: 'Paterno',
                        xtype: 'searchfield',
                        store: opts.store
                    },
                            '-', {
                                width: 120,
                                emptyText: 'Nombres',
                                xtype: 'searchfield1',
                                store: opts.store
                            },
                            '-', {
                                width: 120,
                                emptyText: 'Ingrese DNI',
                                xtype: 'searchfield2',
                                store: opts.store
                            }
                    ];
                    opts.tbar = tbargrid;
                  /*  opts.fields = ['ApellidosNombres', 'FechaIngreso', 'Anio', 'DiasGozados', 'DiasGozados','RecordVacaciones',
                            'Enero', 'CCENERO', 'Febrero', 'CCFEBRERO', 'Marzo', 'CCMARZO', 'Abril', 'CCABRIL',
                            'Mayo', 'CCMAYO', 'Junio', 'CCJUNIO', 'Julio', 'CCJULIO', 'Agosto', 'CCAGOSTO',
                            'Setiembre', 'CCSEPTIEMBRE', 'Octubre', 'CCOCTUBRE', 'Noviembre', 'CCNOVIEMBRE', 'Diciembre', 'CCDICIEMBRE'
                    ];*/
                    opts.fields = ['ApellidosNombres', 'FechaIngreso', 'Anio', 'DiasGozados', 'RecordVacaciones',
                            'Enero', 'Febrero', 'Marzo', 'Abril',
                            'Mayo', 'Junio','Julio', 'Agosto',
                            'Setiembre', 'Octubre', 'Noviembre','Diciembre'
                    ];
                    opts.groupField = 'ApellidosNombres';
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                        xtype: 'rownumberer',
                        width: 35
                    }, {
                        header: "",
                        dataIndex: 'ApellidosNombres',
                        width: 180
                    }, {
                        header: "FECHA INGRESO",
                        dataIndex: 'FechaIngreso',
                        width: 100,
                         hidden: true

                    }, {
                        header: "AÑOS",
                        dataIndex: 'Anio',
                        width: 100
                    },{
                        header: "RECORD VACACIONES",
                        dataIndex: 'RecordVacaciones',
                        width: 110,
                        locked: true,
                         hidden: true
                    }, {
                        header: "DIAS GOZADOS",
                        dataIndex: 'DiasGozados',
                        width: 90,
                        summaryType: function (records) {
                                var i = 0,
                                        length = records.length,
                                        total = 0,
                                        record;

                                for (; i < length; ++i) {
                                    record = records[i];
                                    total += record.get('DiasGozados');
                                }
                                return '<span style="font-size: 11px; font-weight: bold;">'+'TOTAL: '+ + (total).toFixed(2) + '</span>';
                            }

                    }, {
                        header: "ENERO",
                        dataIndex: 'Enero',
                        width: 60
                    },  {
                        header: "FEBRERO",
                        dataIndex: 'Febrero',
                        width: 60
                    }, {
                        header: "MARZO",
                        dataIndex: 'Marzo',
                        width: 60
                    }, {
                        header: "ABRIL",
                        dataIndex: 'Abril',
                        width: 60
                    }, {
                        header: "MAYO",
                        dataIndex: 'Mayo',
                        width: 60
                    }, {
                        header: "JUNIO",
                        dataIndex: 'Junio',
                        width: 60
                    }, {
                        header: "JULIO",
                        dataIndex: 'Julio',
                        width: 60
                    }, {
                        header: "AGOSTO",
                        dataIndex: 'Agosto',
                        width: 60
                    }, {
                        header: "SEPTIEMBRE",
                        dataIndex: 'Setiembre',
                        width: 80
                    }, {
                        header: "OCTUBRE",
                        dataIndex: 'Octubre',
                        width: 60
                    }, {
                        header: "NOVIEMBRE",
                        dataIndex: 'Noviembre',
                        width: 80
                    }, {
                        header: "DICIEMBRE",
                        dataIndex: 'Diciembre',
                        width: 90
                    }
                    ];
                    opts.id = 'gridDirectoriopersonal';
                    opts.tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['-', {
                            width: 150,
                            emptyText: 'Apellidos y Nombres',
                            xtype: 'searchfield',
                            store: opts.store
                        },
                        '-',
                        'Todos'
                        ,{                        
                            fieldLabel: '',
                            xtype: 'checkbox',
                            name: 'myCheckBox',
                            listeners: {
                                    change:  function(checkbox, checked) {
                                
                                        if(checked==false){
                                                    Escritorio.Funciones.StoreSimple10();
                                        }
                                        if(checked==true){
                                            Escritorio.Funciones.StoreSimple11();
                                        } 
                                    }
                                }
                        },'->', {
                            text: 'Exportar a Excel',
                            iconCls: 'nuevoIconSmall',
                            handler: function () {


                                var el = document.createElement("iframe");
                                el.setAttribute('id', 'ifrm');
                                document.body.appendChild(el);
                                el.setAttribute('src', 'recordvacacion/Reportdv/');
                                /*Ext.Msg.show({
                                title: 'Advertencia',
                                msg: 'Seleccione Ficha Reportada que desea Imprimir',
                                icon: Ext.MessageBox.WARNING,
                                buttons: Ext.Msg.OK
                                });*/
                            }
                        }
                        ]
                    });


                    opts.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        hideGroupedHeader: true,
                        enableGroupingMenu: false
                    };

                    opts.grid = Escritorio.Funciones.GridAgrupado(opts);
                    //opts.grid = Escritorio.Funciones.GridSimple(opts);
                    opts.store.load();

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelVacacionespordias',
                        title: 'VACACIONES POR DIAS',
                        layout: 'fit',
                        bodyBorder: false,
                        closable: true,
                        items: opts.grid,
                        border: false

                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                    opts.store.load();
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            } else if (rec.get('id') == 'organigrama') {

                existe = Ext.getCmp('panelOrganigrama');
                if (!existe) {

                    opts.url = rec.get('hrefTarget');
                    opts.title = 'ORGANIGRAMA FONCREAGRO';
                    opts.fields = ['text', 'id', 'expanded', 'nivel'];
                    opts.pageSize = 10;
                    opts.root = {
                        text: 'Direccion',
                        id: '2',
                        nivel: '0',
                        expanded: true
                    };
                    opts.sorters = [{
                        property: 'text',
                        direction: 'DESC'
                    }
                    ];
                    opts.store = Escritorio.Funciones.StoreTreeO(opts);

                    var tree = Ext.create('Ext.tree.Panel', {
                        store: opts.store,
                        region: 'center',
                        id: 'arbolorganigrama',
                        border: false,
                        viewConfig: {
                            plugins: {
                                ptype: 'treeviewdragdrop'
                            }
                        },
                        //useArrows: true,
                        dockedItems: [{
                            xtype: 'toolbar',
                            items: [{
                                text: 'Expandir Todo',
                                handler: function () {
                                    tree.expandAll();
                                }
                            }, {
                                text: 'Colapsar Todo',
                                handler: function () {
                                    tree.collapseAll();
                                }
                            }, '->', {
                                text: 'Nueva Area',
                                iconCls: 'nuevoIconSmall',
                                handler: function () {

                                    var AO = Ext.getCmp('arbolorganigrama');
                                    var sx = AO.getSelectionModel().getSelection()[0];
                                    if (sx) {
                                        //alert(sx.get('nivel'));
                                        var opt = {
                                            title: 'Nueva Area',
                                            url: 'area/create',
                                            id: 'frmArea',
                                            callback: function () {
                                                var p = {};
                                                p.accion = 'new';
                                                p.Dependencia = sx.get('id');
                                                p.Nivel = sx.get('nivel');
                                                Escritorio.RRHH.FArea(p);
                                            },
                                            width: 470,
                                            height: 300
                                        };
                                        Escritorio.RRHH.Ventana(opt);
                                    } else {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'Seleccione Area Padre -- sugerir encabezado',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    }

                                }
                            }, '-', {
                                text: 'Editar',
                                iconCls: 'editIconSmall',
                                handler: function () {
                                    var opts = {
                                        tabla: 'AREA'
                                    };
                                    Escritorio.RRHH.Editar(opts);
                                }

                            }
                                ]
                        }
                        ]
                    });

                    tree.on('itemmove', function (nodo, old, nuevo) {
                        //alert(nodo.get('id'));
                        function cerrar(btn) {
                            if (btn == 'yes') {
                                Ext.Ajax.request({
                                    url: 'area/cambiarparent/' + nodo.get('id'),
                                    params: {
                                        Dependencia: nuevo.get('id'),
                                        Nivel: nuevo.get('nivel') + 1
                                    },
                                    success: function (httpReq) {
                                        var textRes = httpReq.responseText;
                                        if (textRes == 'OK') {
                                            opts.store.load();
                                            Ext.MessageBox.alert('Mensaje', 'Operacion Satisfactoria');
                                        } else {
                                            opts.store.load();
                                            Ext.MessageBox.alert('Mensaje', 'No se realizo la operacion');
                                        }
                                    },
                                    failure: function () {
                                        Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
                                    }
                                });
                            } else {
                                opts.store.load();
                            }
                        }
                        Ext.Msg.confirm('MODIFICAR ORGANIGRAMA',
                            'Seguro que desea Mover el Area: ' + nodo.get('text') +
                            '<br>Del Area: ' + old.get('text') + '<br>Al Area: ' + nuevo.get('text'), cerrar);
                    });
                    tree.on('select', function (node, rec) {
                        /*alert(rec.get('text'));*/
                        //alert(rec.get('nivel'));
                        var tbarc = Ext.create('Ext.toolbar.Toolbar', {
                            border: false,
                            items: ['->', {
                                text: 'Nuevo',
                                iconCls: 'nuevoIconSmall',
                                itemId: 'create',
                                hrefTarget: 'posicion/Create',
                                handler: function (btn) {
                                    btn.IdArea = rec.get('id');
                                    new SistIntegral.RRHH.OrgPosicion().Window(btn);

                                    //                    var opt = {title : 'Nuevo Cargo Area :: '+rec.get('text'),
                                    //                    url : 'posicion/create',id: 'frmPosicion',
                                    //                        callback : function () {
                                    //                        var p = {};
                                    //                        p.accion = 'new';
                                    //                        p.IdArea = rec.get('id');
                                    //                        Escritorio.RRHH.FPosicion(p);},
                                    //                        width: 470,height :300
                                    //                    };
                                    //                     Escritorio.RRHH.Ventana(opt);
                                }
                            }, '-', {
                                text: 'Editar',
                                iconCls: 'editIconSmall',
                                itemId: 'edit',
                                hrefTarget: 'posicion/edit/',
                                handler: function (btn) {
                                    btn.IdArea = rec.get('id');
                                    new SistIntegral.RRHH.OrgPosicion().Window(btn);
                                    //                    var opts = {tabla: 'POSICION',IdArea:rec.get('id')};
                                    //                    Escritorio.RRHH.Editar(opts);
                                }
                            }
                            ]
                        });

                        Ext.getCmp('panelcargos').removeAll();
                        Ext.getCmp('panelcargos').setTitle(rec.get('text'));
                        var sg = {};
                        sg.url = 'posicion/indexconid/' + rec.get('id');
                        //sg.title = 'MUESTRAS';
                        sg.pageSize = 19;
                        sg.fields = ['Id', 'IdPosicion', 'NomCargo', 'CargoJefe'];
                        sg.store = Escritorio.Funciones.StoreSimple(sg);
                        sg.bbar = Escritorio.Funciones.Paginacion(sg);
                        sg.columns = [{
                            xtype: 'rownumberer',
                            width: 35
                        }, {
                            header: "Codigo",
                            dataIndex: 'IdPosicion',
                            width: 130,
                            hidden: true
                        }, {
                            header: "Cargo",
                            dataIndex: 'NomCargo',
                            flex: 1
                        }
                        ];
                        sg.id = 'gridPosicion';
                        sg.tbar = tbarc;
                        sg.grid = Escritorio.Funciones.GridSimple(sg);
                        sg.store.loadPage(1);

                        Ext.getCmp('panelcargos').add(sg.grid);
                    });

                    var PanelCargo = Ext.create('Ext.panel.Panel', {

                        id: 'panelcargos',
                        activeTab: 0,
                        layout: 'fit',
                        region: 'east',
                        width: 300,
                        border: false,
                        items: [{
                            title: 'Bienvenido',
                            bodyPadding: 10,
                            html: 'Visualizar Cargos'
                        }
                        ]
                    });

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelOrganigrama',
                        title: 'Organigrama',
                        layout: 'border',
                        bodyBorder: false,
                        items: [tree, PanelCargo], //opts.grid,
                        defaults: {
                            collapsible: true,
                            split: true,
                            animFloat: false,
                            autoHide: false,
                            useSplitTips: true
                        },
                        border: false

                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            } else if (rec.get('id') == 'epsserviciospropio') {

                existe = Ext.getCmp('panelEpsserviciospropio');
                if (!existe) {

                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['->', {
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                            handler: function () {
                                var opt = {
                                    title: 'Nuevo',
                                    url: 'epsserviciospropio/create',
                                    id: 'frmEpsserviciospropio',
                                    callback: function () {
                                        var p = {};
                                        p.accion = 'new';
                                        Escritorio.RRHH.FEpsserviciospropio(p);
                                    },
                                    width: 470,
                                    height: 280
                                };
                                Escritorio.RRHH.Ventana(opt);
                            }
                        }, '-', {
                            text: 'Editar',
                            iconCls: 'editIconSmall',
                            handler: function () {
                                var opts = {
                                    tabla: 'EPSSERVICIOSPROPIO'
                                };
                                Escritorio.RRHH.Editar(opts);
                            }
                        }
                        ]
                    });

                    opts.url = rec.get('hrefTarget');
                    opts.title = 'EPS SERVICIOS PROPIOS';
                    opts.pageSize = 15;
                    opts.fields = ['Id', 'Nombre', 'Banco', 'NroCuenta', 'CodigoSunat'];
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                        xtype: 'rownumberer',
                        width: 35
                    }, {
                        header: "Codigo",
                        dataIndex: 'Id',
                        hidden: true
                    }, {
                        header: "Nombre",
                        dataIndex: 'Nombre',
                        flex: 2
                    }, {
                        header: "Banco",
                        dataIndex: 'Banco',
                        flex: 2
                    }, {
                        header: "Nro Cuenta",
                        dataIndex: 'NroCuenta',
                        flex: 2
                    }, {
                        header: "CodigoSunat",
                        dataIndex: 'CodigoSunat',
                        flex: 1
                    }
                    ];
                    opts.id = 'gridEpsserviciospropio';
                    tbargrid = ['-', '-', {
                        width: 200,
                        emptyText: 'Nombre',
                        xtype: 'searchfield',
                        store: opts.store
                    }, '-'
                    ];
                    opts.grid = Escritorio.Funciones.GridSimple(opts);
                    opts.store.loadPage(1);

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelEpsserviciospropio',
                        title: 'EPS Serv. Propios',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        items: opts.grid,
                        border: false
                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            } else if (rec.get('id') == 'tipoafiliacion') {

                existe = Ext.getCmp('paneltipoafiliacion');
                if (!existe) {

                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['->', {
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                            handler: function () {
                                var opt = {
                                    title: 'Nuevo',
                                    url: 'tipoafiliacion/create',
                                    id: 'frmtipoafiliacion',
                                    callback: function () {
                                        var p = {};
                                        p.accion = 'new';
                                        Escritorio.RRHH.Ftipoafiliacion(p);
                                    },
                                    width: 470,
                                    height: 180
                                };
                                Escritorio.RRHH.Ventana(opt);
                            }
                        }, '-', {
                            text: 'Editar',
                            iconCls: 'editIconSmall',
                            handler: function () {
                                var opts = {
                                    tabla: 'TIPOAFILIACION'
                                };
                                Escritorio.RRHH.Editar(opts);
                            }
                        }
                        ]
                    });

                    opts.url = rec.get('hrefTarget');
                    opts.title = 'TIPO AFILIACION';
                    opts.pageSize = 15;
                    opts.fields = ['Id', 'Nombre'];
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                        xtype: 'rownumberer',
                        width: 35
                    }, {
                        header: "Codigo",
                        dataIndex: 'Id',
                        hidden: true
                    }, {
                        header: "Tipo de Afiliacion",
                        dataIndex: 'Nombre',
                        flex: 2
                    }
                    ];
                    opts.id = 'gridtipoafiliacion';
                    tbargrid = ['-', '-', {
                        width: 200,
                        emptyText: 'Nombre',
                        xtype: 'searchfield',
                        store: opts.store
                    }, '-'
                    ];
                    opts.grid = Escritorio.Funciones.GridSimple(opts);
                    opts.store.loadPage(1);

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'paneltipoafiliacion',
                        title: 'Tipo de Afiliacion',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        items: opts.grid,
                        border: false
                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            } else if (rec.get('id') == 'cargo') {

                existe = Ext.getCmp('panelcargo');
                if (!existe) {

                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['->', {
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                            handler: function () {
                                var opt = {
                                    title: 'Nuevo',
                                    url: 'cargo/create',
                                    id: 'frmcargo',
                                    callback: function () {
                                        var p = {};
                                        p.accion = 'new';
                                        Escritorio.RRHH.Fcargo(p);
                                    },
                                    width: 470,
                                    height: 180
                                };
                                Escritorio.RRHH.Ventana(opt);
                            }
                        }, '-', {
                            text: 'Editar',
                            iconCls: 'editIconSmall',
                            handler: function () {
                                var opts = {
                                    tabla: 'CARGO'
                                };
                                Escritorio.RRHH.Editar(opts);
                            }
                        }
                        ]
                    });

                    opts.url = rec.get('hrefTarget');
                    opts.title = 'CARGO';
                    opts.pageSize = 15;
                    opts.fields = ['IdCargo', 'NomCargo', 'DescCargo'];
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                        xtype: 'rownumberer',
                        width: 35
                    }, {
                        header: "Codigo",
                        dataIndex: 'IdCargo',
                        hidden: true
                    }, {
                        header: "Cargo",
                        dataIndex: 'NomCargo',
                        flex: 1
                    }, {
                        header: "Descripcion",
                        dataIndex: 'DescCargo',
                        flex: 1
                    }
                    ];
                    opts.id = 'gridcargo';
                    tbargrid = ['-', '-', {
                        width: 200,
                        emptyText: 'Nombre',
                        xtype: 'searchfield',
                        store: opts.store
                    }, '-'
                    ];
                    opts.grid = Escritorio.Funciones.GridSimple(opts);
                    opts.store.loadPage(1);

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelcargo',
                        title: 'Cargo',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        items: opts.grid,
                        border: false
                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            } else if (rec.get('id') == 'parametrosgenerales') {
                existe = Ext.getCmp('panelparametrosgenerales');
                if (!existe) {

                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['->', {
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                            handler: function () {
                                var opt = {
                                    title: 'Nuevo',
                                    url: 'parametro/create',
                                    id: 'frmparametrosgenerales',
                                    callback: function () {
                                        var p = {};
                                        p.accion = 'new';
                                        Escritorio.RRHH.FParametrosgenerales(p);
                                    },
                                    width: 570,
                                    height: 280
                                };
                                Escritorio.RRHH.Ventana(opt);
                            }
                        }, '-', {
                            text: 'Editar',
                            iconCls: 'editIconSmall',
                            handler: function () {
                                var opts = {
                                    tabla: 'PARAMETROSGENERALES'
                                };
                                Escritorio.RRHH.Editar(opts);
                            }
                        }
                        ]
                    });

                    opts.url = rec.get('hrefTarget');
                    opts.title = 'PARAMETROS GENERALES';
                    opts.pageSize = 15;
                    opts.fields = ['Id', 'Nombre', 'Valor', 'Estado', 'FechaInicio', 'FechaFin', 'MontoLimite'];
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                        xtype: 'rownumberer',
                        width: 35
                    }, {
                        header: "Codigo",
                        dataIndex: 'Id',
                        hidden: true
                    }, {
                        header: "Nombre Parametro",
                        dataIndex: 'Nombre'
                    }, {
                        header: "Valor",
                        dataIndex: 'Valor'
                    }, {
                        header: "Fecha Inicio",
                        dataIndex: 'FechaInicio'
                    }, {
                        header: "Fecha Fin",
                        dataIndex: 'FechaFin'
                    }, {
                        header: "Monto Limite",
                        dataIndex: 'MontoLimite'
                    }, {
                        header: "Estado",
                        dataIndex: 'Estado',
                        width: 90,
                        renderer: function (val) {
                            return (val == true ? 'Activo' : 'Inactivo')

                        }
                    }


                    ];
                    opts.id = 'gridparametrosgenerales';
                    tbargrid = ['-', '-', {
                        width: 200,
                        emptyText: 'Nombre',
                        xtype: 'searchfield',
                        store: opts.store
                    }, '-'
                    ];
                    opts.grid = Escritorio.Funciones.GridSimple(opts);
                    opts.store.loadPage(1);

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelparametrosgenerales',
                        title: 'PARAMETROS GENERALES',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        items: opts.grid,
                        border: false
                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            } else if (rec.get('id') == 'ctserv') {
                var StoreEjercicio = Ext.create('Ext.data.Store', {
                    model: 'Ejercicio',
                    proxy: {
                        type: 'ajax',
                        url: 'ejercicio/IndexActivoCTS',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var StoreEjercicioMes = Ext.create('Ext.data.Store', {
                    model: 'EjercicioMes',
                    //pageSize:12,
                    proxy: {
                        type: 'ajax',
                        url: 'ejerciciomes/IndexCTS',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var StoreTipoTrabajador = Ext.create('Ext.data.Store', {
                    model: 'TipoTrabajador',
                    //pageSize:25,
                    proxy: {
                        type: 'ajax',
                        url: 'tipotrabajador/Indexconid/1',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var StoreCTS = Ext.create('Ext.data.Store', {
                    model: 'CTServ',
                    pageSize: 25,
                    proxy: {
                        type: 'ajax',
                        url: 'ctserv/Index',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var cmbEjercicio = Ext.create('Ext.form.ComboBox', {
                    id: 'cmbEjercicioCTS',
                    name: 'cmbEjercicio',
                    width: 100,
                    store: StoreEjercicio,
                    queryMode: 'remote',
                    displayField: 'Anio',
                    valueField: 'IdEjercicio',
                    autoSelect: false,
                    forceSelection: true,
                    allowBlank: false,
                    minChars: 1,
                    listConfig: {
                        loadingText: 'Buscando...',
                        emptyText: 'Sin Resultados',
                        getInnerTpl: function () {
                            return '<a>' + '<h3></span>{Anio}' + '</h3>' + '</a>';
                        }
                    }
                });

                var cmbEjercicioMes = Ext.create('Ext.form.ComboBox', {
                    id: 'cmbEjercicioMes',
                    name: 'cmbEjercicioMes',
                    width: 100,
                    //pageSize : 25,
                    store: StoreEjercicioMes,
                    queryMode: 'remote',
                    displayField: 'mes',
                    valueField: 'idejerciciomes',
                    autoSelect: false,
                    forceSelection: true,
                    allowBlank: false,
                    minChars: 1,
                    listConfig: {
                        loadingText: 'Buscando...',
                        emptyText: 'Sin Resultados',
                        getInnerTpl: function () {
                            return '<a>' + '<h3></span>{mes}' + '</h3>' + '</a>';
                        }
                    }
                });

                var cmbTipoTrabajador = Ext.create('Ext.form.ComboBox', {
                    id: 'cmbTipoTrabajador',
                    name: 'cmbTipoTrabajador',
                    width: 100,
                    //pageSize : 25,
                    store: StoreTipoTrabajador,
                    queryMode: 'remote',
                    displayField: 'NomTipoTrabajador',
                    valueField: 'IdTipoTrabajador',
                    autoSelect: false,
                    forceSelection: true,
                    allowBlank: false,
                    minChars: 1,
                    listConfig: {
                        loadingText: 'Buscando...',
                        emptyText: 'Sin Resultados',
                        getInnerTpl: function () {
                            return '<a>' + '<h3></span>{NomTipoTrabajador}' + '</h3>' + '</a>';
                        }
                    }
                });

                StoreEjercicio.on('load', function (objeto, records, successful) {
                    if (objeto.getProxy().url == 'ejercicio/IndexActivoCTS') {
                        cmbEjercicio.setValue(objeto.getAt(0));
                        cmbEjercicioMes.setValue(objeto.getAt(0));
                        cmbTipoTrabajador.setValue(objeto.getAt(0));
                        //cmbEjercicio.removeListener('load');
                        objeto.setProxy({
                            type: 'ajax',
                            url: 'ejercicio/IndexRH',
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        });
                        StoreEjercicioMes.setProxy({
                            type: 'ajax',
                            url: 'ejerciciomes/IndexCTS/' + objeto.getAt(0).get('IdEjercicio'),
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        });
                        StoreCTS.setProxy({
                            type: 'ajax',
                            url: 'ctserv/Index/' + objeto.getAt(0).get('idejerciciomes') + '/' + objeto.getAt(0).get('IdTipoTrabajador'),
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        });
                        StoreCTS.load();
                    }
                });

                cmbEjercicio.on('select', function (objeto, records, successful) {
                    StoreEjercicioMes.setProxy({
                        type: 'ajax',
                        url: 'ejerciciomes/IndexCTS/' + records[0].get('IdEjercicio'),
                        reader: {
                            type: 'json',
                            root: 'grid',
                            totalProperty: 'total'
                        }
                    });
                    StoreEjercicioMes.load();
                    StoreCTS.load({
                        url: 'ctserv/Index/0'
                    });
                });

                cmbEjercicioMes.on('select', function (objeto, records, successful) {
                    StoreCTS.setProxy({
                        type: 'ajax',
                        url: 'ctserv/Index/' + records[0].get('idejerciciomes') + '/' + cmbTipoTrabajador.getValue(),
                        reader: {
                            type: 'json',
                            root: 'grid',
                            totalProperty: 'total'
                        }
                    });
                    StoreCTS.load();
                });

                cmbTipoTrabajador.on('select', function (objeto, records, successful) {
                    StoreCTS.setProxy({
                        type: 'ajax',
                        url: 'ctserv/Index/' + cmbEjercicioMes.getValue() + '/' + cmbTipoTrabajador.getValue(),
                        reader: {
                            type: 'json',
                            root: 'grid',
                            totalProperty: 'total'
                        }
                    });
                    StoreCTS.load();
                });

                StoreEjercicio.load();
                //inicio

                function formatoNumero(value, p, record) {
                    if (value != 0) {
                        return Ext.util.Format.number(value, '0,000.00');
                    }
                    return '-';
                }

                var grid = Ext.create('Ext.ux.LiveSearchGridPanel', {
                    store: StoreCTS,
                    columnLines: true,
                    columns: [{
                        text: 'Personal',
                        width: 300,
                        //                flex     : 1,
                        sortable: true,
                        dataIndex: 'Personal'
                    }, {
                        text: 'Fecha Ingreso',
                        width: 90,
                        sortable: true,
                        align: 'center',
                        dataIndex: 'FechaIngreso'
                    }, {
                        text: 'Remuneracion',
                        width: 90,
                        sortable: true,
                        dataIndex: 'Remuneracion',
                        align: 'right',
                        renderer: formatoNumero
                    }, {
                        text: 'Ult Gratificacion',
                        width: 100,
                        sortable: true,
                        dataIndex: 'Gratificacion',
                        align: 'right',
                        renderer: formatoNumero
                    }, {
                        text: '1/6 Gratificacion',
                        width: 90,
                        sortable: true,
                        align: 'right',
                        renderer: formatoNumero,
                        dataIndex: 'PorcGratificacion'
                    }, {
                        text: 'NOV-DIC CTS',
                        width: 90,
                        sortable: true,
                        align: 'right',
                        renderer: formatoNumero,
                        dataIndex: 'ProvNovDic'
                    }, {
                        text: 'CTS A&#241o',
                        width: 90,
                        sortable: true,
                        align: 'right',
                        renderer: formatoNumero,
                        dataIndex: 'CTSAnio'
                    }, {
                        text: 'Total CTS',
                        width: 90,
                        sortable: true,
                        align: 'right',
                        renderer: formatoNumero,
                        dataIndex: 'CTS'
                    }
                    ],
                    border: false,
                    title: 'LISTADO DE CTS',
                    viewConfig: {
                        stripeRows: true
                    }
                });

                grid.on('itemdblclick', function (store, record) {
                    var StoreCTSContable = Ext.create('Ext.data.Store', {
                        model: 'CTSContable',
                        groupField: 'IdCTServ',
                        autoLoad: true,
                        proxy: {
                            type: 'ajax',
                            url: 'ctscontable/Index/' + record.get('IdCTServ'),
                            reader: {
                                type: 'json',
                                root: 'grid'
                            }
                        }
                    });

                    var gridctscontable = Ext.create('Ext.grid.Panel', {
                        id: 'gridctscontable' + record.get('IdCTServ'),
                        store: StoreCTSContable,
                        border: false,
                        columnLines: true,
                        features: [{
                            id: 'group',
                            ftype: 'groupingsummary',
                            groupHeaderTpl: 'Listado de Areas y Centros de Costo Para Pago de CTS (S/. ' + record.get('CTS') + ')',
                            hideGroupedHeader: true,
                            enableGroupingMenu: false
                        }
                        ],
                        columns: [{
                            text: 'Proyecto',
                            dataIndex: 'Proyecto'
                        }, {
                            text: 'Centro Costo',
                            dataIndex: 'CCosto',
                            flex: 1
                        }, {
                            text: 'Monto',
                            dataIndex: 'Monto',
                            align: 'right',
                            summaryType: 'sum',
                            renderer: formatoNumero,
                            summaryRenderer: formatoNumero
                        }
                        ]
                    });

                    var panelContable = Ext.create('Ext.panel.Panel', {
                        title: record.get('Personal'),
                        layout: 'fit',
                        border: false,
                        closable: true,
                        tbar: ['->', {
                            text: 'Editar',
                            iconCls: 'editar',
                            hrefTarget: 'ctscontable/Edit/',
                            itemId: 'edit',
                            handler: function (btn) {
                                btn.record = record;
                                new SistIntegral.RRHH.FrmCCostoCTS().Window(btn);
                            }
                        }, {
                            text: 'Eliminar',
                            iconCls: 'eliminar',
                            handler: function (btn) {
                                btn.record = record;
                                new SistIntegral.RRHH.FrmCCostoCTS().Eliminar(btn);
                            }
                        }
                        ],
                        items: gridctscontable
                    });

                    Ext.getCmp('tabproductores').add(panelContable);
                    Ext.getCmp('tabproductores').setActiveTab(panelContable);

                });

                panel = Ext.create('Ext.panel.Panel', {
                    id: 'panelCTS',
                    title: 'CTS',
                    layout: 'fit',
                    tbar: [cmbEjercicio, '-', cmbEjercicioMes, '-', cmbTipoTrabajador, '->', {
                        text: 'Tareas',
                        iconCls: 'tareas',
                        menu: {
                            items: [{
                                text: '<b>Generar CTS</b>',
                                handler: function () {
                                    Ext.Ajax.request({
                                        url: 'ctserv/ValidarPagoCTS/' + Ext.getCmp('cmbEjercicioMes').getValue(),
                                        success: function (response) {
                                            var text = response.responseText;
                                            if (text == 'SIGUE') {
                                                Ext.MessageBox.show({
                                                    msg: 'CALCULANDO CTS ...',
                                                    progressText: 'Verificando...',
                                                    width: 300,
                                                    icon: 'ext-mb-download'
                                                });

                                                Ext.Ajax.request({
                                                    url: 'ctserv/CalcularCTS/' + Ext.getCmp('cmbEjercicioMes').getValue(),
                                                    success: function (responseb) {

                                                        var textRes = responseb.responseText;
                                                        if (textRes == 'OK') {
                                                            StoreCTS.load();
                                                            setTimeout(function () {
                                                                Ext.MessageBox.hide();
                                                            }, 1000);
                                                        } else {
                                                            Ext.MessageBox.hide();
                                                            Ext.Msg.show({
                                                                title: 'Advertencia',
                                                                msg: 'La CTS ya ha sido Pagada el Mes de ' + Ext.getCmp('cmbEjercicioMes').getRawValue(),
                                                                icon: Ext.MessageBox.WARNING,
                                                                buttons: Ext.Msg.OK
                                                            });

                                                        }
                                                    }
                                                });
                                            } else {
                                                Ext.Msg.show({
                                                    title: 'Advertencia!!!',
                                                    msg: 'El Pago CTS ya ha sido realizado el Mes de ' + Ext.getCmp('cmbEjercicioMes').getRawValue(),
                                                    buttons: Ext.Msg.OK,
                                                    icon: Ext.Msg.WARNING
                                                });
                                            }
                                        }
                                    });
                                }
                            }
                                ]
                        }
                    }, {
                        text: 'Reportes',
                        iconCls: 'reportes',
                        menu: {
                            items: [{
                                text: '<b>Certificados</b>',
                                handler: function () {
                                    var btn = {};
                                    btn.titulo = 'REPORTE CERTIFICADOS DE CTS',
                                            btn.src = '"Reporting/RRHH/CrystalCertificadoCTS.aspx?IdEjercicioMes=' + Ext.getCmp('cmbEjercicioMes').getValue() + '&IdTipoTrabajador=' + Ext.getCmp('cmbTipoTrabajador').getValue() + '"';
                                    new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                                }
                            }, {
                                text: '<b>Reporte General CTS</b>',
                                handler: function () {

                                    var btn = {};
                                    btn.titulo = 'REPORTE CERTIFICADOS DE CTS',
                                            btn.src = '"Reporting/RRHH/PlanillaCTSGeneral.aspx?IdEjercicioMes=' + Ext.getCmp('cmbEjercicioMes').getValue() + '&IdTipoTrabajador=' + Ext.getCmp('cmbTipoTrabajador').getValue() + '"'
                                    new SistIntegral.Componentes.Objetos().ReportWindow(btn);

                                }
                            }
                                ]
                        }
                    }
                    ],
                    bodyBorder: false,
                    items: grid,
                    border: false
                });

                Ext.getCmp('tabproductores').removeAll();
                Ext.getCmp('tabproductores').add(panel);
                Ext.getCmp('tabproductores').setActiveTab(panel);

            } else if (rec.get('id') == 'ctsareas') {
//CTSAAAAAA
                var StoreEjercicioA = Ext.create('Ext.data.Store', {
                    model: 'Ejercicio',
                    proxy: {
                        type: 'ajax',
                        url: 'ejercicio/IndexActivoCTS',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var StoreEjercicioMesA = Ext.create('Ext.data.Store', {
                    model: 'EjercicioMes',
                    //pageSize:12,
                    proxy: {
                        type: 'ajax',
                        url: 'ejerciciomes/IndexCTS',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var StoreTipoTrabajadorA = Ext.create('Ext.data.Store', {
                    model: 'TipoTrabajador',
                    //pageSize:25,
                    proxy: {
                        type: 'ajax',
                        url: 'tipotrabajador/Indexconid/1',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var StoreCTSA = Ext.create('Ext.data.Store', {
                    model: 'CTServ',
                    pageSize: 25,
                    groupField: 'Proyecto',
                    proxy: {
                        type: 'ajax',
                        url: 'ctserv/IndexProyecto',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var cmbEjercicioCTSA = Ext.create('Ext.form.ComboBox', {
                    id: 'cmbEjercicioCTSA',
                    name: 'cmbEjercicio',
                    width: 100,
                    store: StoreEjercicioA,
                    queryMode: 'remote',
                    displayField: 'Anio',
                    valueField: 'IdEjercicio',
                    autoSelect: false,
                    forceSelection: true,
                    allowBlank: false,
                    minChars: 1,
                    listConfig: {
                        loadingText: 'Buscando...',
                        emptyText: 'Sin Resultados',
                        getInnerTpl: function () {
                            return '<a>' + '<h3></span>{Anio}' + '</h3>' + '</a>';
                        }
                    }
                });

                var cmbEjercicioMesA = Ext.create('Ext.form.ComboBox', {
                    id: 'cmbEjercicioMesA',
                    name: 'cmbEjercicioMesA',
                    width: 100,
                    //pageSize : 25,
                    store: StoreEjercicioMesA,
                    queryMode: 'remote',
                    displayField: 'mes',
                    valueField: 'idejerciciomes',
                    autoSelect: false,
                    forceSelection: true,
                    allowBlank: false,
                    minChars: 1,
                    listConfig: {
                        loadingText: 'Buscando...',
                        emptyText: 'Sin Resultados',
                        getInnerTpl: function () {
                            return '<a>' + '<h3></span>{mes}' + '</h3>' + '</a>';
                        }
                    }
                });

                var cmbTipoTrabajadorA = Ext.create('Ext.form.ComboBox', {
                    id: 'cmbTipoTrabajadorA',
                    name: 'cmbTipoTrabajador',
                    width: 100,
                    //pageSize : 25,
                    store: StoreTipoTrabajadorA,
                    queryMode: 'remote',
                    displayField: 'NomTipoTrabajador',
                    valueField: 'IdTipoTrabajador',
                    autoSelect: false,
                    forceSelection: true,
                    allowBlank: false,
                    minChars: 1,
                    listConfig: {
                        loadingText: 'Buscando...',
                        emptyText: 'Sin Resultados',
                        getInnerTpl: function () {
                            return '<a>' + '<h3></span>{NomTipoTrabajador}' + '</h3>' + '</a>';
                        }
                    }
                });

                StoreEjercicioA.on('load', function (objeto, records, successful) {
                    if (objeto.getProxy().url == 'ejercicio/IndexActivoCTS') {
                        cmbEjercicioCTSA.setValue(objeto.getAt(0));
                        cmbEjercicioMesA.setValue(objeto.getAt(0));
                        cmbTipoTrabajadorA.setValue(objeto.getAt(0));
                        //cmbEjercicio.removeListener('load');
                        objeto.setProxy({
                            type: 'ajax',
                            url: 'ejercicio/IndexRH',
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        });
                        StoreEjercicioMesA.setProxy({
                            type: 'ajax',
                            url: 'ejerciciomes/IndexCTS/' + objeto.getAt(0).get('IdEjercicio'),
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        });
                        StoreCTSA.setProxy({
                            type: 'ajax',
                            url: 'ctserv/IndexProyecto/' + objeto.getAt(0).get('idejerciciomes') + '/' + objeto.getAt(0).get('IdTipoTrabajador'),
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        });
                        StoreCTSA.load();
                    }
                });

                cmbEjercicioCTSA.on('select', function (objeto, records, successful) {
                    StoreEjercicioMesA.setProxy({
                        type: 'ajax',
                        url: 'ejerciciomes/IndexCTS/' + records[0].get('IdEjercicio'),
                        reader: {
                            type: 'json',
                            root: 'grid',
                            totalProperty: 'total'
                        }
                    });
                    StoreEjercicioMesA.load();
                    StoreCTS.load({
                        url: 'ctserv/Index/0'
                    });
                });

                cmbEjercicioMesA.on('select', function (objeto, records, successful) {
                    StoreCTSA.setProxy({
                        type: 'ajax',
                        url: 'ctserv/IndexProyecto/' + records[0].get('idejerciciomes') + '/' + cmbTipoTrabajadorA.getValue(),
                        reader: {
                            type: 'json',
                            root: 'grid',
                            totalProperty: 'total'
                        }
                    });
                    StoreCTSA.load();
                });

                cmbTipoTrabajadorA.on('select', function (objeto, records, successful) {
                    StoreCTSA.setProxy({
                        type: 'ajax',
                        url: 'ctserv/IndexProyecto/' + cmbEjercicioMesA.getValue() + '/' + cmbTipoTrabajadorA.getValue(),
                        reader: {
                            type: 'json',
                            root: 'grid',
                            totalProperty: 'total'
                        }
                    });
                    StoreCTSA.load();
                });

                StoreEjercicioA.load();
                //inicio

                function formatoNumero(value, p, record) {
                    if (value != 0) {
                        return Ext.util.Format.number(value, '0,000.00');
                    }
                    return '-';

                }



                var gridCTSA = Ext.create('Ext.ux.LiveSearchGridPanel', {
                    store: StoreCTSA,
                    columnLines: true,
                    columns: [{
                        text: 'Personal',
                        width: 250,
                        //flex     : 1,
                        sortable: true,
                        dataIndex: 'Personal'
                    }, {
                        text: 'Fecha Ingreso',
                        width: 90,
                        sortable: true,
                        align: 'center',
                        dataIndex: 'FechaIngreso'
                    }, {
                        text: 'DNI',
                        width: 70,
                        sortable: true,
                        align: 'center',
                        //renderer: formatoNumero,
                        dataIndex: 'DNI'
                    }, {
                        text: 'Remuneraci&#243n',
                        width: 90,
                        sortable: true,
                        align: 'right',
                        renderer: formatoNumero,
                        dataIndex: 'Remuneracion',
                        summaryType: 'sum',
                        summaryRenderer: formatoNumero
                    }, {
                        text: 'Gratificaci&#243n',
                        width: 90,
                        sortable: true,
                        align: 'right',
                        renderer: formatoNumero,
                        dataIndex: 'Gratificacion',
                        summaryType: 'sum',
                        summaryRenderer: formatoNumero
                    }, {
                        text: '1/6 Gratificaci&#243n',
                        width: 90,
                        sortable: true,
                        align: 'right',
                        renderer: formatoNumero,
                        dataIndex: 'PorcGratificacion',
                        summaryType: 'sum',
                        summaryRenderer: formatoNumero
                    },
                        {
                            text: 'Cod CCosto',
                            width: 80,
                            sortable: true,
                            dataIndex: 'CodCCosto',
                            align: 'center'
                            //,renderer: formatoNumero
                        }, {
                            text: 'Nom CCosto',
                            width: 150,
                            sortable: true,
                            dataIndex: 'NomCCosto',
                            align: 'left'
                        }, {
                            text: 'NOV-DIC CTS',
                            width: 90,
                            sortable: true,
                            align: 'right',
                            renderer: formatoNumero,
                            dataIndex: 'ProvNovDic',
                            summaryType: 'sum',
                            summaryRenderer: formatoNumero
                        }, {
                            text: 'CTS A&#241o',
                            width: 90,
                            sortable: true,
                            align: 'right',
                            renderer: formatoNumero,
                            dataIndex: 'CTSAnio',
                            summaryType: 'sum',
                            summaryRenderer: formatoNumero
                        }, {
                            text: 'Total CTS',
                            width: 90,
                            sortable: true,
                            align: 'right',
                            renderer: formatoNumero,
                            dataIndex: 'CTS',
                            summaryType: 'sum',
                            summaryRenderer: formatoNumero
                        }
                    ],
                    features: [{
                        id: 'group',
                        ftype: 'groupingsummary',
                        groupHeaderTpl: '{name}',
                        hideGroupedHeader: true,
                        enableGroupingMenu: false
                    }
                    ],
                    border: false,
                    title: 'LISTADO DE CTS',
                    viewConfig: {
                        stripeRows: true
                    }
                });
                panel = Ext.create('Ext.panel.Panel', {
                    id: 'panelCTSA',
                    title: 'CTS',
                    layout: 'fit',
                    tbar: [cmbEjercicioCTSA, '-', cmbEjercicioMesA, '-', cmbTipoTrabajadorA, '->', {
                        text: 'Tareas',
                        iconCls: 'tareas',
                        menu: {
                            items: [{
                                text: '<b>Pagar CTS</b>',
                                handler: function (btn) {

                                    Ext.Ajax.request({
                                        url: 'ctserv/ValidarPagoCTS/' + Ext.getCmp('cmbEjercicioMesA').getValue(),
                                        success: function (response) {
                                            var text = response.responseText;
                                            if (text == 'SIGUE') {
                                                //PAGARSS
                                                btn.url = 'ctserv/Pagar/' + Ext.getCmp('cmbEjercicioMesA').getValue() + '/' + Ext.getCmp('cmbTipoTrabajadorA').getValue();
                                                new SistIntegral.Componentes.Objetos().PagarWindow(btn);
                                            } else {
                                                Ext.Msg.show({
                                                    title: 'Advertencia!!!',
                                                    msg: 'El Pago CTS ya ha sido realizado el Mes de ' + Ext.getCmp('cmbEjercicioMesA').getRawValue(),
                                                    buttons: Ext.Msg.OK,
                                                    icon: Ext.Msg.WARNING
                                                });
                                            }
                                        }
                                    });


                                }
                            }, {
                                text: '<b>Anular Pago CTS</b>',
                                handler: function (btn) {

                                    Ext.Ajax.request({
                                        url: 'ctserv/AnularPago/' + Ext.getCmp('cmbEjercicioMesA').getValue(),
                                        success: function (response) {
                                            var text = response.responseText;
                                            if (text == '1') {
                                                Ext.Msg.show({
                                                    title: 'Correcto!!',
                                                    msg: 'Se Anulo el Pago de CTS Para Mes de ' + Ext.getCmp('cmbEjercicioMesA').getRawValue(),
                                                    buttons: Ext.Msg.OK,
                                                    icon: Ext.Msg.QUESTION
                                                });
                                            } else {
                                                Ext.Msg.show({
                                                    title: 'Correcto!!',
                                                    msg: 'No Se Puede Anular el Pago de CTS Para Mes de ' + Ext.getCmp('cmbEjercicioMesA').getRawValue(),
                                                    buttons: Ext.Msg.OK,
                                                    icon: Ext.Msg.QUESTION
                                                });
                                            }
                                        }
                                    });

                                    //btn.url = 'ctserv/AnularPago/'+Ext.getCmp('cmbEjercicioMesA').getValue()+'/'+Ext.getCmp('cmbTipoTrabajadorA').getValue();
                                    //new SistIntegral.Componentes.Objetos().PagarWindow(btn);
                                }
                            }
                                ]
                        }
                    }, {
                        text: 'Reportes',
                        iconCls: 'reportes',
                        menu: {
                            items: [{
                                text: '<b>CTS Por Areas</b>',
                                handler: function () {

                                    var btn = {};
                                    btn.titulo = 'REPORTE DE CTS POR AREAS Y CENTRO DE COSTO',
                                            btn.src = '"Reporting/RRHH/PlanillaCTSArea.aspx?IdEjercicioMes=' + Ext.getCmp('cmbEjercicioMesA').getValue() + '&IdTipoTrabajador=' + Ext.getCmp('cmbTipoTrabajadorA').getValue() + '"'
                                    new SistIntegral.Componentes.Objetos().ReportWindow(btn);

                                }
                            }, '-', {
                                text: '<b>CTS Por Areas y Bancos</b>',
                                handler: function () {

                                    var btn = {};
                                    btn.titulo = 'REPORTE DE CTS POR AREAS Y BANCOS',
                                            btn.src = '"Reporting/RRHH/PlanillaCTSAreaBanco.aspx?IdEjercicioMes=' + Ext.getCmp('cmbEjercicioMesA').getValue() + '&IdTipoTrabajador=' + Ext.getCmp('cmbTipoTrabajadorA').getValue() + '"';
                                    new SistIntegral.Componentes.Objetos().ReportWindow(btn);

                                }
                            }
                                ]
                        }
                    }
                    ],
                    bodyBorder: false,
                    items: gridCTSA,
                    border: false
                });

                Ext.getCmp('tabproductores').removeAll();
                Ext.getCmp('tabproductores').add(panel);
                Ext.getCmp('tabproductores').setActiveTab(panel);

            }
            else if(rec.get('id') == 'prvvacacion'){

                existe = Ext.getCmp('prvvacacion');

                if (!existe) {

                function calcularVacaciones2 () {
                           var idejerciciomes = Escritorio.Funciones.CARGAIDEJERCICIO2()
                           if (idejerciciomes == null) {
                                 Ext.Msg.show({
                                    title: 'Advertencia',
                                    msg: 'ANTES DEBE SELECCIONAR UN AÑO',
                                    icon: Ext.MessageBox.ERROR,
                                    buttons: Ext.Msg.OK
                                });

                                } else {

                                       var Frm = Ext.create('Ext.form.Panel', {
                                    id: 'Frmvac',
                                    frame: true,
                                    bodyPadding: '5',
                                    fieldDefaults: {
                                        msgTarget: 'side',
                                        labelAlign: 'left',
                                        labelWidth: 60,
                                        anchor: '100%'
                                    },
                                    items: [{
                                        xtype: 'datefield',
                                        name: 'Fecha',
                                        allowBlank: false,
                                        fieldLabel: 'Fecha'
                                    }
                                    ],
                                    buttons: [{
                                        text: 'Generar',
                                        handler: function () {

                                            Ext.MessageBox.show({
                                                msg: 'Generando Registros...',
                                                progressText: 'Actualizando...',
                                                width: 300,
                                                icon: 'ext-mb-download'
                                            });

                                            var form = this.up('form').getForm();
                                            if (form.isValid()) {
                                                form.submit({
                                                    url: 'prvvacacion/CaluloProvVacacion/' + idejerciciomes,
                                                    success: function (form, action) {
                                                        Ext.getCmp('WPPC3').close();

                                                        setTimeout(function () {
                                                            Ext.MessageBox.hide();
                                                        }, 1000);
                                                        Ext.MessageBox.show({   
                                                            msg: 'Cálculo de Vacaciones EXITOSO...',
                                                            progressText: 'Cargando componentes...',
                                                            width: 300,
                                                            icon: 'ext-mb-OK'
                                                        });
                                                    },
                                                    failure: function (form, action) {
                                                        Ext.Msg.show({
                                                            title: 'Atencion!!',
                                                            msg: action.result.msg,
                                                            buttons: Ext.Msg.OK,
                                                            icon: Ext.Msg.WARNING
                                                        });
                                                    }
                                                });
                                            }
                                        }
                                    }, {
                                        text: 'Limpiar',
                                        handler: function () {
                                            this.up('form').getForm().reset();
                                        }
                                    }
                                    ]
                                });
                                var win = Ext.create('widget.window', {
                                    id: 'WPPC3',
                                    title: 'calcular vacaciones',
                                    closable: true,
                                    bodyPadding: '5',
                                    bodyBorder: false,
                                    width: 250,
                                    minWidth: 200,
                                    height: 150,
                                    layout: 'fit',
                                    modal: true,
                                    items: [Frm]
                                });

                                win.show();
                                    
                                }
                          
               }

                function provisionarVacaciones2 () {
                         var idejerciciomes2 = Escritorio.Funciones.CARGAIDEJERCICIO2()
                           if (idejerciciomes2 == null) {
                                 Ext.Msg.show({
                                    title: 'Advertencia',
                                    msg: 'ANTES DEBE SELECCIONAR UN AÑO',
                                    icon: Ext.MessageBox.ERROR,
                                    buttons: Ext.Msg.OK
                                });

                                } else {

                                    var Frm = Ext.create('Ext.form.Panel', {
                                    id: 'Frmvac',
                                    frame: true,
                                    bodyPadding: '5',
                                    fieldDefaults: {
                                        msgTarget: 'side',
                                        labelAlign: 'left',
                                        labelWidth: 60,
                                        anchor: '100%'
                                    },
                                    items: [{
                                        xtype: 'datefield',
                                        name: 'Fecha',
                                        allowBlank: false,
                                        fieldLabel: 'Fecha'
                                    }
                                    ],
                                    buttons: [{
                                        text: 'Generar',
                                        handler: function () {

                                            Ext.MessageBox.show({
                                                msg: 'Generando Registros...',
                                                progressText: 'Actualizando...',
                                                width: 300,
                                                icon: 'ext-mb-download'
                                            });

                                            var form = this.up('form').getForm();
                                            if (form.isValid()) {
                                                form.submit({
                                                    url: 'prvvacacion/ProvisionarVacaciones/' + idejerciciomes2,
                                                    success: function (form, action) {
                                                        Ext.getCmp('WPPC4').close();

                                                        setTimeout(function () {
                                                            Ext.MessageBox.hide();
                                                        }, 1000);
                                                        Ext.MessageBox.show({   
                                                            msg:'Provision de Vacaciones EXITOSO...',
                                                            progressText: 'Cargando componentes...',
                                                            width: 300,
                                                            icon: 'ext-mb-OK'
                                                        });
                                                    },
                                                    failure: function (form, action) {
                                                        Ext.Msg.show({
                                                            title: 'Atencion!!',
                                                            msg: action.result.msg,
                                                            buttons: Ext.Msg.OK,
                                                            icon: Ext.Msg.WARNING
                                                        });
                                                    }
                                                });
                                            }
                                        }
                                    }, {
                                        text: 'Limpiar',
                                        handler: function () {
                                            this.up('form').getForm().reset();
                                        }
                                    }
                                    ]
                                });
                                var win = Ext.create('widget.window', {
                                    id: 'WPPC4',
                                    title: 'provisionar vacaciones',
                                    closable: true,
                                    bodyPadding: '5',
                                    bodyBorder: false,
                                    width: 250,
                                    minWidth: 200,
                                    height: 150,
                                    layout: 'fit',
                                    modal: true,
                                    items: [Frm]
                                });

                                win.show();
                                    
                                }
                          
               }
/*                function rptProvicionesVacaciones () {
                         var idejerciciomes4 = Escritorio.Funciones.CARGAIDEJERCICIO2();
                           if (idejerciciomes4 == null) {
                                 Ext.Msg.show({
                                    title: 'Advertencia',
                                    msg: 'ANTES DEBE SELECCIONAR UN AÑO',
                                    icon: Ext.MessageBox.ERROR,
                                    buttons: Ext.Msg.OK
                                });

                                } else {
                                        alert(combotrabajador2);
                 }                 
               }*/
               //cuando haya doble click no se borren los combos
                Ext.getCmp('tabproductores').removeAll();
                 var cbxpais3;
                 var combotrabajador2;
                 var fecha2;
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: [cbxpais3= new Escritorio.Funciones.CmbEjercicios3(), 
                                //fecha2 = Escritorio.Funciones.fechaFiltro2(),
                                '-', combotrabajador2= new Escritorio.Funciones.cmbTipoTrabajadorP3(), '->',
                                 {
                                text: 'Tareas',
                                iconCls: 'bmenu',
                                menu: {
                                    items: ['-', {
                                        text: '<b>Calcular Vacaciones</b>',
                                        handler: calcularVacaciones2
                                    }, '-', {
                                        text: '<b>Provisionar</b>',
                                        handler: provisionarVacaciones2
                                    }
                                        ]
                                }
                            }, {
                                text: 'Reporte',
                                iconCls: 'bmenu',
                                menu: {
                                    items: ['-', {
                                        text: '<b>Provisión</b>',
                                       
                                             handler: function (btn) {
                                                var pejercicio = cbxpais3.value;
                                                var ptrabajador = combotrabajador2.value ;

                                              if (pejercicio == null) {
                                                                       Ext.Msg.show({
                                                                 title: 'Advertencia',
                                                                 msg: 'ANTES DEBE SELECCIONAR UN AÑO',
                                                                 icon: Ext.MessageBox.ERROR,
                                                                 buttons: Ext.Msg.OK
                                                             });
                                
                                                             } else {
                                                var el = document.createElement("iframe");
                                                el.setAttribute('id', 'ifrm');
                                                document.body.appendChild(el);
                                                el.setAttribute('src', 'prvvacacion/rptVacaciones?idanio=' +pejercicio +'&idtrabajador='+ ptrabajador);
                                                            }      
                                                /*
                                                Ext.Ajax.request({
                                                    url: 'prvvacacion/rptVacaciones?idanio=' +pejercicio +'&idtrabajador='+ ptrabajador,
                                                    success: function (response) {
                                                        var text = response.responseText;
                                                        if (text == '1') {
                                                            Ext.Msg.show({
                                                                title: 'Correcto!!',
                                                                msg: 'Se Anulo el Pago de CTS Para Mes de ' + Ext.getCmp('cmbEjercicioMesA').getRawValue(),
                                                                buttons: Ext.Msg.OK,
                                                                icon: Ext.Msg.QUESTION
                                                            });
                                                        } else {
                                                            Ext.Msg.show({
                                                                title: 'Correcto!!',
                                                                msg: 'No Se Puede Anular el Pago de CTS Para Mes de ' + Ext.getCmp('cmbEjercicioMesA').getRawValue(),
                                                                buttons: Ext.Msg.OK,
                                                                icon: Ext.Msg.QUESTION
                                                            });
                                                        }
                                                    }
                                                });*/
                                             }
                                    },
//                                    {
//                                        text: '<b>Vacaciones Gozadas</b>',
//                                       
//                                             handler: function (btn) {
//                                                 var pejercicio = cbxpais3.value;
//                                                var ptrabajador = combotrabajador2.value ;

//                                              if (pejercicio == null) {
//                                                                       Ext.Msg.show({
//                                                                 title: 'Advertencia',
//                                                                 msg: 'ANTES DEBE SELECCIONAR UN AÑO',
//                                                                 icon: Ext.MessageBox.ERROR,
//                                                                 buttons: Ext.Msg.OK
//                                                             });
//                                
//                                                             } else {
//                                                var el = document.createElement("iframe");
//                                                el.setAttribute('id', 'ifrm');
//                                                document.body.appendChild(el);
//                                                el.setAttribute('src', 'prvvacacion/rptVacacionesProvicionar?idanio=' +pejercicio +'&idtrabajador='+ ptrabajador);
//                                                            }                                              }
//                                    },

                                    ]
                                }
                            }                           

                            ],

                    });
                    opts.url = rec.get('hrefTarget');
                    opts.title = 'VACACIONES';
                    opts.pageSize = 999999999;
                    opts.fields = ['Personal', 'FechaIngreso','DiasCalculados','RecordVacaciones','DiasGozados','DiasPendientes','Nombre','CentroCostos','sueldo','Monto','IdPeriodoLaboral','IdPersonal'];
                    opts.groupField = 'Nombre';
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                        xtype: 'rownumberer',
                        width: 35
                    },{
                        header: "Nombre y Apellidos",
                        dataIndex: 'Personal',
                        width: 216,
                       
                    }, {
                        header: "Fecha Ingreso",
                        dataIndex: 'FechaIngreso',
                        flex: 1
                    }, {
                        header: "Días calculados hasta ",
                        dataIndex: 'DiasCalculados',
                         width: 300,
                        flex: 1
                    }, {
                        header: "Record Vacaciones",
                        dataIndex: 'RecordVacaciones',
                        flex: 1
                    }, {
                        header: "Días Gozados",
                        dataIndex: 'DiasGozados',
                        flex: 1
                    }, {
                        header: "Días Pendientes",
                        dataIndex: 'DiasPendientes',
                        flex: 1
                    }, {
                        header: "Areas",
                        dataIndex: 'Nombre',
                        width: 446,
                    }, {
                        header: "Centro de Costos",
                        dataIndex: 'CentroCostos',
                        flex: 1
                    }, {
                        header: "Sueldo",
                        dataIndex: 'sueldo',
                        flex: 1,
                        align: 'right',
                        renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                        }
                    }, {
                        header: "Monto Provisionar",
                        dataIndex: 'Monto',
                        flex: 1,
                        align: 'right',
                        renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                         }
                    },{
                        header: "Id PeriodoLaboral",
                        dataIndex: 'IdPeriodoLaboral',
                        hidden: true
                    }, {
                        header: "Id Personal",
                        dataIndex: 'IdPersonal',
                        hidden: true
                    },
                    ];
                    opts.id = 'gridvacaciones';
                 
                 opts.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        hideGroupedHeader: true,
                        enableGroupingMenu: false
                    };

 //if (Ext.getCmp('gridvacaciones')) { Ext.getCmp('gridvacaciones').destroy();}
                   // opts.grid = Escritorio.Funciones.GridSimple(opts);
                     opts.grid = Escritorio.Funciones.GridAgrupado(opts);
                    opts.store.loadPage(1);
                   // alert(opts.grid);
                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelvacacion',
                        title: 'VACACIONES',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        closable: true,
                        items: opts.grid,
                        border: false
                    });
                  //  Ext.getCmp('gridvacaciones').removeAll();
                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                    } else {
                                    Ext.getCmp('tabproductores').setActiveTab(existe);
                    }
            }

            else if(rec.get('id') == 'prvcts'){
                existe = Ext.getCmp('prvcts');
                if (!existe) {
                function calcularprovisionCTS () {
                              var IdEj =  Escritorio.Funciones.CARGAIDEJERCICIO();

                            if (IdEj == null) {
                                 Ext.Msg.show({
                                    title: 'Advertencia',
                                    msg: 'ANTES DEBE SELECCIONAR UN AÑO',
                                    icon: Ext.MessageBox.ERROR,
                                    buttons: Ext.Msg.OK
                                });

                                } else {

                                var Frm = Ext.create('Ext.form.Panel', {
                                    id: 'FrmprovCTS2',
                                    frame: true,
                                    bodyPadding: '5',
                                    fieldDefaults: {
                                        msgTarget: 'side',
                                        labelAlign: 'left',
                                        labelWidth: 60,
                                        anchor: '100%'
                                    },
                                    items: [{
                                        xtype: 'datefield',
                                        name: 'Fecha',
                                        allowBlank: false,
                                        fieldLabel: 'Fecha'
                                    }
                                    ],
                                    buttons: [{
                                        text: 'Generar',
                                        handler: function () {

                                            Ext.MessageBox.show({
                                                msg: 'Generando Registros...',
                                                progressText: 'Actualizando...',
                                                width: 300,
                                                icon: 'ext-mb-download'
                                            });

                                            var form = this.up('form').getForm();
                                            if (form.isValid()) {
                                                form.submit({ 
                                                    url: 'cts/CaluloProvCTServ/' + IdEj,
                                                    success: function (form, action) {
                                                        Ext.getCmp('WPPC2').close();
                                                        setTimeout(function () {
                                                            Ext.MessageBox.hide();
                                                        }, 1000);
                                                        Ext.MessageBox.show({   
                                                        msg: 'Cálculo de CTS exitososo...',
                                                        progressText: 'Cargando componentes...',
                                                        width: 300,
                                                        icon: 'ext-mb-OK'
                                                        });
                                                    },
                                                    failure: function (form, action) {
                                                        Ext.Msg.show({
                                                            title: 'Atencion!!',
                                                            msg: action.result.msg,
                                                            buttons: Ext.Msg.OK,
                                                            icon: Ext.Msg.WARNING
                                                        });
                                                    }
                                                });
                                            }
                                        }
                                    }, {
                                        text: 'Limpiar',
                                        handler: function () {
                                            this.up('form').getForm().reset();
                                        }
                                    }
                                    ]
                                });

                                var win = Ext.create('widget.window', {
                                    id: 'WPPC2',
                                    title: 'calcular provision CTS',
                                    closable: true,
                                    bodyPadding: '5',
                                    bodyBorder: false,
                                    width: 250,
                                    minWidth: 200,
                                    height: 150,
                                    layout: 'fit',
                                    modal: true,
                                    items: [Frm]
                                });

                                win.show();
                    }

                }


                          function provisionarprovisionCTS () {
                            var IdEj2 =  Escritorio.Funciones.CARGAIDEJERCICIO();

                            if (IdEj2 == null) {
                                 Ext.Msg.show({
                                    title: 'Advertencia',
                                    msg: 'ANTES DEBE SELECCIONAR UN AÑO',
                                    icon: Ext.MessageBox.ERROR,
                                    buttons: Ext.Msg.OK
                                });

                                } else {

                                var Frm = Ext.create('Ext.form.Panel', {
                                    id: 'FrmprovCTS2',
                                    frame: true,
                                    bodyPadding: '5',
                                    fieldDefaults: {
                                        msgTarget: 'side',
                                        labelAlign: 'left',
                                        labelWidth: 60,
                                        anchor: '100%'
                                    },
                                    items: [{
                                        xtype: 'datefield',
                                        name: 'Fecha',
                                        allowBlank: false,
                                        fieldLabel: 'Fecha'
                                    }
                                    ],
                                    buttons: [{
                                        text: 'Generar',
                                        handler: function () {

                                            Ext.MessageBox.show({
                                                msg: 'Generando Registros...',
                                                progressText: 'Actualizando...',
                                                width: 300,
                                                icon: 'ext-mb-download'
                                            });

                                            var form = this.up('form').getForm();
                                            if (form.isValid()) {
                                                form.submit({
                                                    url: 'cts/ProvisionarCTS/' + IdEj2,
                                                    success: function (form, action) {
                                                        Ext.getCmp('WPPC5').close();
                                                        setTimeout(function () {
                                                            Ext.MessageBox.hide();
                                                        }, 1000);
                                                        Ext.MessageBox.show({   
                                                        msg: 'Provisionar de CTS EXITOSO...',
                                                        progressText: 'Cargando componentes...',
                                                        width: 300,
                                                        icon: 'ext-mb-OK'
                                                        });
                                                    },
                                                    failure: function (form, action) {
                                                        Ext.Msg.show({
                                                            title: 'Atencion!!',
                                                            msg: action.result.msg,
                                                            buttons: Ext.Msg.OK,
                                                            icon: Ext.Msg.WARNING
                                                        });
                                                    }
                                                });
                                            }
                                        }
                                    }, {
                                        text: 'Limpiar',
                                        handler: function () {
                                            this.up('form').getForm().reset();
                                        }
                                    }
                                    ]
                                });

                                var win = Ext.create('widget.window', {
                                    id: 'WPPC5',
                                    title: 'Provisionar provision CTS',
                                    closable: true,
                                    bodyPadding: '5',
                                    bodyBorder: false,
                                    width: 250,
                                    minWidth: 200,
                                    height: 150,
                                    layout: 'fit',
                                    modal: true,
                                    items: [Frm]
                                });

                                win.show();
                     }

                }
                //cuando haya doble click no se borren los combos
                Ext.getCmp('tabproductores').removeAll();
                 var cbxpais2;
                 var combotrabajador;
                 var fecha;
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: [cbxpais2=Escritorio.Funciones.CmbEjercicios2(), 
                               // fecha = Escritorio.Funciones.fechaFiltro(),
                                '-', combotrabajador= Escritorio.Funciones.cmbTipoTrabajadorP2(), '->', {
                                text: 'Tareas',
                                iconCls: 'bmenu',
                                menu: {
                                    items: ['-', {
                                        text: '<b>Calcular Provisión</b>',
                                        handler: calcularprovisionCTS
                                    }, '-', {
                                        text: '<b>Provisionar</b>',
                                        handler: provisionarprovisionCTS
                                    }
                                        ]
                                }
                            }, {
                                text: 'Reporte',
                                iconCls: 'bmenu',
                                menu: {
                                    items: ['-', {
                                        text: '<b>Provisión</b>',
                                         handler: function (btn) {
                                                var pejercicio = cbxpais2.value;
                                                var ptrabajador = combotrabajador.value ;

                                              if (pejercicio == null) {
                                                                       Ext.Msg.show({
                                                                 title: 'Advertencia',
                                                                 msg: 'ANTES DEBE SELECCIONAR UN AÑO',
                                                                 icon: Ext.MessageBox.ERROR,
                                                                 buttons: Ext.Msg.OK
                                                             });
                                
                                                             } else {
                                                var el = document.createElement("iframe");
                                                el.setAttribute('id', 'ifrm');
                                                document.body.appendChild(el);
                                                el.setAttribute('src', 'cts/rptctsProvicionar?idanio=' +pejercicio +'&idtrabajador='+ ptrabajador);
                                                            } 
                                         }
                                    }]
                                }
                            }                             

                            ],

                    });
                    opts.url = rec.get('hrefTarget');
                    opts.title = 'CTS';
                    opts.pageSize = 999999;
                    opts.fields = ['IdProyecto', 'Personal', 'FechaIngreso','Codigo','UltimoSueldo','UltimaGratificacion','SextoGratificacion','TotalCTS','CTSNovDic','Valor'];
                    opts.groupField = 'IdProyecto';
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);

                    opts.columns = [{
                        xtype: 'rownumberer',
                        width: 35
                            }, {
                                header: "Proyecto",
                                dataIndex: 'IdProyecto',
                                hidden: true
                            }, {
                                header: "Personal",
                                dataIndex: 'Personal',
                                 width: 234,
                                //flex: 1
                            }, {
                                header: "Fecha de Ingreso",
                                dataIndex: 'FechaIngreso',
                                flex: 1
                            }, {
                                header: "Codigo",
                                dataIndex: 'Codigo',
                                flex: 1
                            }, {
                                header: "Ultimo Sueldo",
                                dataIndex: 'UltimoSueldo',
                                flex: 1,
                                align: 'right',
                                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                }
                            }, {
                                header: "Ultima Gratificación",
                                dataIndex: 'UltimaGratificacion',
                                flex: 1,
                                align: 'right',
                                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                }
                            }, {
                                header: "Un sexto de Gratificación",
                                dataIndex: 'SextoGratificacion',
                                flex: 1,
                                align: 'right',
                                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                }
                            }, {
                                header: "Base de Cálculo",
                                dataIndex: 'TotalCTS',
                                flex: 1,
                                align: 'right',
                                 renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                }
                            }, {
                                header: "CTS Nov. Dic.",
                                dataIndex: 'CTSNovDic',
                                flex: 1,
                                align: 'right',
                                 renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                }
                            }, {
                                header: "Valor",
                                dataIndex: 'Valor',
                                flex: 1,
                                align: 'right',
                                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                }
                    }
                    ];
                    //CTSS
                    opts.id = 'gridCTS';
                    opts.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        hideGroupedHeader: true,
                        enableGroupingMenu: false
                    };
            
            opts.grid = Escritorio.Funciones.GridAgrupado(opts);
            opts.store.loadPage(1);

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelcts',
                        title: 'CTS',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        closable: true,
                        items: opts.grid,
                        border: false
                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }

            }

            else if(rec.get('id') == 'rafpnet'){

                existe = Ext.getCmp('rafpnet');

                if (!existe) {
                 var cbxpais3;
                 var combotrabajador2;// = new Escritorio.Funciones.ComboMeses();
                 var seleccionadoAnio =  Escritorio.Funciones.GetEjercicioAFPId();
                /* if(seleccionadoAnio!=null){
                    alert('El año es: '+seleccionadoAnio);
                 }else{
                    alert('El año es nulo');
                 }*/
                 var fecha2;
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: [cbxpais3= new Escritorio.Funciones.CmbEjercicios5(), 
                                '-', combotrabajador2, '->',
                                 {
                                /*text: 'Exportar a Excel',
                                iconCls: 'nuevoIconSmall',
                                    handler: function () {
                                    new Escritorio.Funciones.CARGADATAREPORTEAFP();
                                 }*/
                            }                       
                            ],

                    });

                    opts.url = rec.get('hrefTarget');
                    opts.title = 'AFP NET';
                    opts.pageSize = 999999999;
                    opts.fields = ['CUSPP', 'Tip','Dni','NombreCompleto','RelacionLaboral','InicioRL','CeseRL','ExcepcionAportar','RemunAsegurable','AporteVoluntarioCFP','AporteVoluntarioSFP','AporteVOluntarioEmp','TipoTrabajo','AFP'];
                    //opts.groupField = 'CUSPP';
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                                     xtype: 'rownumberer',
                                     width: 35
                                 },{
                                     header: "NombreCompleto",
                                     dataIndex: 'NombreCompleto',
                                     width: 216,
                                    
                                 }, {
                                     header: "Dni",
                                     dataIndex: 'Dni',
                                     flex: 1
                                 }, {
                                     header: "Tip",
                                     dataIndex: 'Tip',
                                     flex: 1
                                 }, {
                                     header: "RelacionLaboral",
                                     dataIndex: 'RelacionLaboral',
                                     flex: 1
                                 }, {
                                     header: "InicioRL",
                                     dataIndex: 'InicioRL',
                                     flex: 1
                                 }, {
                                     header: "CeseRL",
                                     dataIndex: 'CeseRL',
                                     flex: 1
                                 }, {
                                     header: "ExcepcionAportar",
                                     dataIndex: 'ExcepcionAportar',
                                     flex: 1
                                 }, {
                                     header: "RemunAsegurable",
                                     dataIndex: 'RemunAsegurable',
                                     flex: 1,
                                     renderer: function (value, metaData, record) {
                                    return  Ext.util.Format.number(value, '0,000.00');
                                    }
                                 }, {
                                     header: "AporteVoluntarioCFP",
                                     dataIndex: 'AporteVoluntarioCFP',
                                     flex: 1
                                 }, {
                                     header: "AporteVoluntarioSFP",
                                     dataIndex: 'AporteVoluntarioSFP',
                                     flex: 1
                                 }, {
                                     header: "AporteVOluntarioEmp",
                                     dataIndex: 'AporteVOluntarioEmp',
                                     flex: 1
                                 }, {
                                     header: "TipoTrabajo",
                                     dataIndex: 'TipoTrabajo',
                                     flex: 1
                                 }, {
                                     header: "AFP",
                                     dataIndex: 'AFP',
                                     flex: 1
                                 }
                                 ];
                    //opts.id = 'gridvacaciones';
                  /*  opts.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        hideGroupedHeader: true,
                        enableGroupingMenu: false
                    };
                */
                   // opts.grid = Escritorio.Funciones.GridAgrupado(opts);
                   opts.grid = Escritorio.Funciones.GridSimple(opts);
                    opts.store.loadPage(1);
                    panel = Ext.create('Ext.panel.Panel', {
                        //id: 'panelvacacion',
                        title: 'Reporte de AFP NET',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        closable: true,
                        items: opts.grid,
                        border: false
                    });
                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                    } else {
                          Ext.getCmp('tabproductores').setActiveTab(existe);
                    }

            }
            else if (rec.get('id') == 'ctsprov') {

                var StoreEjercicioP = Ext.create('Ext.data.Store', {
                    model: 'Ejercicio',
                    proxy: {
                        type: 'ajax',
                        url: 'ejercicio/IndexActivoCTS',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var StoreEjercicioMesP = Ext.create('Ext.data.Store', {
                    model: 'EjercicioMes',
                    //pageSize:12,
                    proxy: {
                        type: 'ajax',
                        url: 'ejerciciomes/IndexCTS',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                }); 

                var StoreTipoTrabajadorP = Ext.create('Ext.data.Store', {
                    model: 'TipoTrabajador',
                    //pageSize:25,
                    proxy: {
                        type: 'ajax',
                        url: 'tipotrabajador/Indexconid/1',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var StoreCTSP = Ext.create('Ext.data.Store', {
                    model: 'CTSProvision',
                    pageSize: 25,
                    /*groupField: 'Proyecto',*/
                    proxy: {
                        type: 'ajax',
                        url: 'ctserv/Provision',
                        reader: {
                            type: 'json',
                            root: 'grid'
                        }
                    }
                });

                var cmbEjercicioCTSP = Ext.create('Ext.form.ComboBox', {
                    id: 'cmbEjercicioCTSP',
                    name: 'cmbEjercicio',
                    width: 100,
                    store: StoreEjercicioP,
                    queryMode: 'remote',
                    displayField: 'Anio',
                    valueField: 'IdEjercicio',
                    autoSelect: false,
                    forceSelection: true,
                    allowBlank: false,
                    minChars: 1,
                    listConfig: {
                        loadingText: 'Buscando...',
                        emptyText: 'Sin Resultados',
                        getInnerTpl: function () {
                            return '<a>' + '<h3></span>{Anio}' + '</h3>' + '</a>';
                        }
                    }
                });

                var cmbEjercicioMesP = Ext.create('Ext.form.ComboBox', {
                    id: 'cmbEjercicioMesP',
                    name: 'cmbEjercicioMesP',
                    width: 100,
                    //pageSize : 25,
                    store: StoreEjercicioMesP,
                    queryMode: 'remote',
                    displayField: 'mes',
                    valueField: 'idejerciciomes',
                    autoSelect: false,
                    forceSelection: true,
                    allowBlank: false,
                    minChars: 1,
                    listConfig: {
                        loadingText: 'Buscando...',
                        emptyText: 'Sin Resultados',
                        getInnerTpl: function () {
                            return '<a>' + '<h3></span>{mes}' + '</h3>' + '</a>';
                        }
                    }
                });

                var cmbTipoTrabajadorP = Ext.create('Ext.form.ComboBox', {
                    id: 'cmbTipoTrabajadorP',
                    name: 'cmbTipoTrabajador',
                    width: 100,
                    //pageSize : 25,
                    store: StoreTipoTrabajadorP,
                    queryMode: 'remote',
                    displayField: 'NomTipoTrabajador',
                    valueField: 'IdTipoTrabajador',
                    autoSelect: false,
                    forceSelection: true,
                    allowBlank: false,
                    minChars: 1,
                    listConfig: {
                        loadingText: 'Buscando...',
                        emptyText: 'Sin Resultados',
                        getInnerTpl: function () {
                            return '<a>' + '<h3></span>{NomTipoTrabajador}' + '</h3>' + '</a>';
                        }
                    }
                });

                StoreEjercicioP.on('load', function (objeto, records, successful) {
                    if (objeto.getProxy().url == 'ejercicio/IndexActivoCTS') {
                        cmbEjercicioCTSP.setValue(objeto.getAt(0));
                        cmbEjercicioMesP.setValue(objeto.getAt(0));
                        cmbTipoTrabajadorP.setValue(objeto.getAt(0));
                        //cmbEjercicio.removeListener('load');
                        objeto.setProxy({
                            type: 'ajax',
                            url: 'ejercicio/IndexRH',
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        });
                        StoreEjercicioMesP.setProxy({
                            type: 'ajax',
                            url: 'ejerciciomes/IndexCTS/' + objeto.getAt(0).get('IdEjercicio'),
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        });
                        StoreCTSP.setProxy({
                            type: 'ajax',
                            url: 'ctserv/Provision/' + objeto.getAt(0).get('idejerciciomes') + '/' + objeto.getAt(0).get('IdTipoTrabajador'),
                            reader: {
                                type: 'json',
                                root: 'grid',
                                totalProperty: 'total'
                            }
                        });
                        StoreCTSP.load();
                    }
                });

                cmbEjercicioCTSP.on('select', function (objeto, records, successful) {
                    StoreEjercicioMesP.setProxy({
                        type: 'ajax',
                        url: 'ejerciciomes/IndexCTS/' + records[0].get('IdEjercicio'),
                        reader: {
                            type: 'json',
                            root: 'grid',
                            totalProperty: 'total'
                        }
                    });
                    StoreEjercicioMesP.load();
                    StoreCTS.load({
                        url: 'ctserv/Index/0'
                    });
                });

                cmbEjercicioMesP.on('select', function (objeto, records, successful) {
                    StoreCTSP.setProxy({
                        type: 'ajax',
                        url: 'ctserv/Provision/' + records[0].get('idejerciciomes') + '/' + cmbTipoTrabajadorP.getValue(),
                        reader: {
                            type: 'json',
                            root: 'grid',
                            totalProperty: 'total'
                        }
                    });
                    StoreCTSP.load();
                });

                cmbTipoTrabajadorP.on('select', function (objeto, records, successful) {
                    StoreCTSP.setProxy({
                        type: 'ajax',
                        url: 'ctserv/Provision/' + cmbEjercicioMesP.getValue() + '/' + cmbTipoTrabajadorP.getValue(),
                        reader: {
                            type: 'json',
                            root: 'grid',
                            totalProperty: 'total'
                        }
                    });
                    StoreCTSP.load();
                });

                StoreEjercicioP.load();
                //inicio

                function formatoNumero(value, p, record) {
                    if (value != 0) {
                        return Ext.util.Format.number(value, '0,000.00');
                    }
                    return value.toFixed(2);
                }

                var gridCTSP = Ext.create('Ext.ux.LiveSearchGridPanel', {
                    store: StoreCTSP,
                    id: 'gridCTSP',
                    columnLines: true,
                    columns: [{
                        xtype: 'rownumberer'
                    }, {
                        text: 'Personal',
                        width: 300,
                        //                flex     : 1,
                        sortable: true,
                        dataIndex: 'Personal'
                    }, {
                        text: 'Cod CCosto',
                        width: 90,
                        sortable: true,
                        align: 'center',
                        dataIndex: 'CCosto'
                    }, {
                        text: 'Proyecto',
                        width: 300,
                        sortable: true,
                        align: 'left',
                        dataIndex: 'Proyecto'
                    }, {
                        text: 'NOV-DIC CTS',
                        width: 100,
                        sortable: true,
                        dataIndex: 'ProvNovDic',
                        align: 'right',
                        renderer : formatoNumero
                    }, {
                        text: 'CTS A&#241o',
                        width: 100,
                        sortable: true,
                        dataIndex: 'CTSAnio',
                        align: 'right',
                        renderer: formatoNumero
                    }, {
                        text: 'Total CTS',
                        width: 100,
                        sortable: true,
                        dataIndex: 'MontoCTSContable',
                        align: 'right',
                        renderer: formatoNumero
                    }
                    ],
                    //CTS GENERAL
                    border: false,
                    title: 'LISTADO DE CTS',
                    viewConfig: {
                        stripeRows: true
                    }
                });

                panel = Ext.create('Ext.panel.Panel', {
                    id: 'panelCTSP',
                    title: 'CTS',
                    layout: 'fit',
                    tbar: [cmbEjercicioCTSP, '-', cmbEjercicioMesP, '-', cmbTipoTrabajadorP, '->', {
                        text: 'Editar',
                        iconCls: 'editar',
                        itemId: 'editar',
                        hrefTarget: 'personal/edit/',
                        handler: function (btn) {

                            var seleccion = null,
                                    parm = {};
                            var grid = Ext.getCmp('gridCTSP');
                            seleccion = grid.getSelectionModel().getSelection()[0];

                            if (seleccion) {
                                parm = {
                                    id: 'frmCTSProv',
                                    url: 'ctserv/EditCTSProv/' + seleccion.get('IdCTSContable'),
                                    title: seleccion.get('Personal'),
                                    width: 650,
                                    height: 405,
                                    //items: 
                                    callback: function () {
                                        var p = {};
                                        p.IdCTServ = seleccion.get('Id');
                                        Escritorio.RRHH.FCTSProv(p);
                                    }
                                };
                                Escritorio.RRHH.Ventana(parm);
                            } else {
                                Ext.Msg.show({
                                    title: 'Advertencia',
                                    msg: 'Seleccione un Registro para Modificar',
                                    icon: Ext.MessageBox.WARNING,
                                    buttons: Ext.Msg.OK
                                });
                            }
                        }
                    }
                    ],
                    bodyBorder: false,
                    items: gridCTSP,
                    border: false
                });
                /**/

                Ext.getCmp('tabproductores').removeAll();
                Ext.getCmp('tabproductores').add(panel);
                Ext.getCmp('tabproductores').setActiveTab(panel);

            }

            else if(rec.get('id') == 'rptCTS'){

                existe = Ext.getCmp('prvvacacion');

                if (!existe) {
               //RPTSS
                Ext.getCmp('tabproductores').removeAll();
                 var cbxpais3;
                 var combotrabajador2 = new Escritorio.Funciones.ComboReuneracion();
                 var fecha2;
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: [cbxpais3= new Escritorio.Funciones.CmbEjercicios4(), 
                                '-', combotrabajador2, '->',
                                 {
                                text: 'Exportar a Excel',
                                iconCls: 'nuevoIconSmall',
                                    handler: function () {
                                      /*var GridSS = Ext.getCmp('cbxpais3');
                                        alert(GridSS);
                                        var prror = seleccion.get('cbxpais3');
                                        alert(prror);*/
                                    new Escritorio.Funciones.CARGADATAREPORTE2();
                                 }
                            }                       

                            ],

                    });
                    var mesActual = Escritorio.Funciones.cambiarNombresMeses();

                    opts.url = rec.get('hrefTarget');
                    opts.title = 'CTS';
                    opts.pageSize = 999999999;
                    opts.fields = ['Banco', 'Personal','Dni','UltSueldo','Total'];
                    opts.groupField = 'Banco';
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                   // alert(mesActual);
                    if(mesActual=="1"){
                                 opts.columns = [{
                                     xtype: 'rownumberer',
                                     width: 35
                                 },{
                                     header: "Personal",
                                     dataIndex: 'Personal',
                                     width: 216,
                                    
                                 }, {
                                     header: "Dni",
                                     dataIndex: 'Dni',
                                     flex: 1
                                 }, {
                                     header: "Último Sueldo",
                                     dataIndex: 'UltSueldo',
                                     flex: 1,                                   
                                 }, {
                                     header: "Total",
                                     dataIndex: 'Total',
                                     flex: 1,
                                     format: '0,000.00',
                                    renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                    }
                                 }
                                 ];
                }
                    if(mesActual=="2"){

                                 opts.columns = [{
                                     xtype: 'rownumberer',
                                     width: 35
                                 },{
                                     header: "Personal",
                                     dataIndex: 'Personal',
                                     width: 216,
                                    
                                 }, {
                                     header: "Dni",
                                     dataIndex: 'Dni',
                                     flex: 1
                                 }, {
                                     header: "Último Sueldo",
                                     dataIndex: 'UltSueldo',
                                     flex: 1,                                   
                                 }, {
                                     header: "Total",
                                     dataIndex: 'Total',
                                     flex: 1,
                                     format: '0,000.00',
                                    renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                    }
                                 }
                                 ]; 
                    }

                   // opts.id = 'gridvacaciones';
                    opts.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        hideGroupedHeader: true,
                        enableGroupingMenu: false
                    };

                    opts.grid = Escritorio.Funciones.GridAgrupado(opts);
                    opts.store.loadPage(1);
                    panel = Ext.create('Ext.panel.Panel', {
                       // id: 'panelvacacion',
                        title: 'Reporte de 6 últimas remuneraciones',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        closable: true,
                        items: opts.grid,
                        border: false
                    });
                  //  Ext.getCmp('panelvacacion').removeAll();
                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                    } else {
                                    Ext.getCmp('tabproductores').setActiveTab(existe);
                    }

            }

            else if(rec.get('id') == 'LiquidacionesId'){

                existe = Ext.getCmp('LiquidacionesId');

                if (!existe) {

                Ext.getCmp('tabproductores').removeAll();
                 opts.comboejecicioLiqu = Escritorio.Funciones.CmbEjerciciosLiquidaciones();
                 opts.comboMesLiqu = Escritorio.Funciones.ComboEjerciciomesLiquidaciones(opts);
                 var fecha2;
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: [opts.comboejecicioLiqu, 
                                '-', opts.comboMesLiqu
                            ],

                    });


                        opts.url = 'liquidacionPersonal/index/';
                        opts.pageSize = 19;
                        opts.fields = ['IdPeriodoLaboral', 'Personal', 'RecordVacaciones', 'VacacionesGozadas', 'VacacionesGozadasActual','VacacionesTruncas','MesesGratifTrunca','MesesCTS','DiasCTS','UltimaGratificacion','Fondo','Comision','Prima'];
                        opts.store = Escritorio.Funciones.StoreSimple(opts);
                        opts.bbar = Escritorio.Funciones.Paginacion(opts);
                        opts.columns = [{
                            xtype: 'rownumberer',
                            width: 35
                        }, {
                            header: "Codigo",
                            dataIndex: 'IdPeriodoLaboral',
                            hidden: true
                        }, {
                            header: "Nombre Persona",
                            dataIndex: 'Personal',
                            flex: 1
                        }, {
                            header: "Record de vacaciones",
                            dataIndex: 'RecordVacaciones',
                            flex: 1
                        }, {
                            header: "Vacaciones gozadas",
                            dataIndex: 'VacacionesGozadas',
                            flex: 1
                        },
                        {
                            header: "VacacionesGozadasActual",
                            dataIndex: 'VacacionesGozadasActual',
                            flex: 1
                        },{
                            header: "VacacionesTruncas",
                            dataIndex: 'VacacionesTruncas',
                            flex: 1
                        },{
                            header: "MesesGratifTrunca",
                            dataIndex: 'MesesGratifTrunca',
                            flex: 1
                        },{
                            header: "MesesCTS",
                            dataIndex: 'MesesCTS',
                            flex: 1
                        },{
                            header: "DiasCTS",
                            dataIndex: 'DiasCTS',
                            flex: 1
                        },
                        {
                            header: "UltimaGratificacion",
                            dataIndex: 'UltimaGratificacion',
                            flex: 1
                        },{
                            header: "Fondo",
                            dataIndex: 'Fondo',
                            flex: 1
                        },{
                            header: "Comision",
                            dataIndex: 'Comision',
                            flex: 1
                        },{
                            header: "Prima",
                            dataIndex: 'Prima',
                            flex: 1
                        },
                        /* {
                            header: "Monto",
                            dataIndex: 'Monto',
                            flex: 1,
                            renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                            }
                        }*/
                        
                        ];
                        opts.id = 'gridLiquidacion';
                        opts.grid = Escritorio.Funciones.GridSimple(opts);
                        opts.store.loadPage(1);

                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelliquidacion',
                        title: 'Liquidaciones',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        closable: true,
                        items: opts.grid,
                        border: false
                    });  
                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                    } else {
                        Ext.getCmp('tabproductores').setActiveTab(existe);
                    }
        }

            /* FIN CTS PROVISION*/

            function fbexcel() {

                /*Ext.apply(Ext.form.field.VTypes, {
                //  vtype validation function
                tipoexcel: function(val, field) {
                var fileName = /^.*\.(xlsx|xls|csv)$/i;
                return fileName.test(val);
                },
                // vtype Text property to display error Text
                // when the validation function returns false
                tipoexcelText: "Solo csv/Archivos Excel ",
                // vtype Mask property for keystroke filter mask
                tipoexcelMask: /[a-z_\.]/i
                });*/

                var formExcel = Ext.create('Ext.form.Panel', {
                    //renderTo: Ext.get('container'),

                    width: 350,
                    frame: true,
                    bodyPadding: '10 10 0',
                    defaults: {
                        anchor: '100%',
                        allowBlank: false,
                        msgTarget: 'side',
                        labelWidth: 50
                    },

                    items: [{
                        xtype: 'filefield',
                        id: 'fileData',
                        emptyText: 'Seleccione Archivo Excel',
                        fieldLabel: 'Excel',
                        name: 'fileData',
                        buttonText: '',
                        //vtype: 'tipoexcel',
                        buttonConfig: {
                            iconCls: 'subirarchivo'
                        },
                        regex: /^.*\.(xlsx|xls|csv)$/i,
                        regexText: 'ERROR de extensión'
                    }
                    ],

                    buttons: [{
                        text: 'Guardar',
                        handler: function () {
                            var form = this.up('form').getForm();
                            if (form.isValid()) {
                                Ext.MessageBox.show({
                                    msg: 'Trabajando Archivo',
                                    progressText: 'Actualizando...',
                                    width: 300,
                                    icon: 'ext-mb-download'
                                });

                                form.submit({
                                    url: 'personal/SubirExcel',
                                    params: {
                                        action: 'update'
                                    },
                                    //waitMsg: 'Uploading your photo...',

                                    success: function (fp, o) {
                                        //msg('Success', 'Processed file "' + o.result.file + '" on the server');
                                        Ext.MessageBox.hide();
                                        formExcel.close();
                                        Ext.getCmp('WExcel').close();
                                        Ext.Msg.alert('Correcto', o.result.msg);
                                        grid = Ext.getCmp("gridAsistencia");


                                        var id = Ext.getCmp('comboProyPersonal').getValue();
                                        id == null ? id = -1 : null;
                                        var fi = Ext.getCmp('FechaInicio').getRawValue();
                                        var ff = Ext.getCmp('FechaFin').getRawValue();
                                        var idp = Ext.getCmp('comboProyAsistencia').getValue();
                                        idp == null ? idp = -1 : null;

                                        grid.getStore().reload({
                                            params: {
                                                IdPersonal: id,
                                                FechaInicio: fi,
                                                FechaFin: ff,
                                                IdProyecto: idp
                                            }
                                        });

                                        //grid.getStore().reload();
                                        //location.reload();
                                        //
                                    },
                                    failure: function (response, o) {
                                        //Ext.MessageBox.hide();
                                        Ext.Msg.alert('Error', o.result.msg);
                                        //Ext.Msg.alert('ERROR', 'Contacte con el Administrador del Sistema');
                                    }
                                });
                            }
                        }
                    }, {
                        text: 'Reset',
                        handler: function () {
                            this.up('form').getForm().reset();
                        }
                    }
                    ]
                });

                var ventana1 = new Ext.Window({
                    id: 'WExcel',
                    title: 'Subir Excel',
                    width: 400,
                    height: 150,
                    draggable: true,
                    autoScroll: true,
                    bodyStyle: "padding : 10px; border : 1px solid #99bbe8",
                    modal: true,
                    items: formExcel,
                    constrainHeader: true
                });
                ventana1.show();

            }

            function ObtenerNumeroDias(year, month) {
                var isLeap = ((year % 4) == 0 && ((year % 100) != 0 || (year % 400) == 0));
                return [31, (isLeap ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
            }

            function ReporteQuintaTodos(id_usuario) {
                var s = {};
                s.url = 'ejercicio/index';
                s.fields = ['Id', 'Anio', 'EstadoP'];
                //s.pageSize = 15;


                var Frm = Ext.create('Ext.form.Panel', {
                    id: 'FrmReporteQuintaTodos',
                    frame: true,
                    bodyPadding: '5',
                    fieldDefaults: {
                        msgTarget: 'side',
                        labelAlign: 'left',
                        labelWidth: 60,
                        anchor: '100%'
                    },
                    items: [{
                        xtype: 'combo',
                        fieldLabel: 'A&ntilde;o',
                        hiddenName: 'Ejercicio',
                        store: Escritorio.Funciones.StoreSimple(s),
                        valueField: 'Id',
                        displayField: 'Anio',
                        triggerAction: 'all',
                        editable: false,
                        id: 'Comboejercicio',
                        allowBlank: false


                    }
                    ],
                    buttons: [{
                        text: 'Generar',
                        handler: function () {

                            var form = this.up('form').getForm();



                            if (form.isValid()) {
                                var p = {};
                                p.url = 'rentaquinta/reporte/' + id_usuario + '/' + Ext.getCmp('Comboejercicio').getValue();
                                Ext.MessageBox.show({
                                    msg: 'Generando Registros...',
                                    progressText: 'Actualizando...',
                                    width: 300,
                                    icon: 'ext-mb-download'
                                });
                                Escritorio.RRHH.FCertQuintaCategoriaEd(p);
                                Ext.getCmp('WReporteQuintaTodos').close();
                                setTimeout(function () {
                                    Ext.MessageBox.hide();
                                }, 3000);

                            }
                        }
                    }, {
                        text: 'Limpiar',
                        handler: function () {
                            this.up('form').getForm().reset();
                        }
                    }
                    ]
                });

                var win = Ext.create('widget.window', {
                    id: 'WReporteQuintaTodos',
                    title: 'Reporte Quinta Categoria',
                    closable: true,
                    bodyPadding: '5',
                    bodyBorder: false,
                    width: 250,
                    minWidth: 200,
                    height: 150,
                    layout: 'fit',
                    modal: true,
                    items: [Frm]
                });

                win.show();


            }
            if (rec.get('id') == 'rquintatodos') {
                existe = Ext.getCmp('panelrquintatodos');
                ReporteQuintaTodos(-1)


                if (!existe) {
                    panel = Ext.create('Ext.panel.Panel', {
                        id: 'panelrquintatodos',
                        title: 'Renta Quinta Todos',
                        layout: 'fit',
                        //         tbar:[{text: 'Nuevo', iconCls: 'nuevoIconSmall',
                        //     handler : function () {
                        //     var opt = {title : 'Nuevo Productor',
                        //     url : 'productor/create',id: 'frmProductor',
                        //         callback : function () {
                        //         var p = {};
                        //         p.accion = 'new';
                        //         Escritorio.Productores.FProductor(p);},
                        //         width: 470,height :300
                        //     };
                        //      Escritorio.Productores.Ventana(opt);
                        // }
                        // },opts.comboe,opts.comboem],
                        bodyBorder: false,
                        items: opts.grid,
                        border: false

                    });

                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);

                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }

            }

        });
        //Final se retorna todo    
        return PanelContenedor;
    },
    Eliminar: function (t) {

        var seleccion = null,
            id = null,
            grid = null;
        if (t.tabla == 'CCOSTOPORPERSONA') {
            grid = Ext.getCmp('gridCcostoporpersona' + t.idpersonal);
            seleccion = grid.getSelectionModel().getSelection()[0];

        }
        if (t.tabla == 'COSTOSISTEMADEPENSIONES') {
            grid = Ext.getCmp('gridCostosistemadepensiones');
            seleccion = grid.getSelectionModel().getSelection()[0];

        }
        if (t.tabla == 'CONTRATOADENDAPERSONAL') {
            grid = Ext.getCmp('arbolcontratoadenda' + t.id);
            seleccion = grid.getSelectionModel().getSelection()[0];

        }
        if (t.tabla == 'RENTAQUINTA') {
            grid = Ext.getCmp('gridCRentaquinta' + t.id);
            seleccion = grid.getSelectionModel().getSelection()[0];

        }
        if (t.tabla == 'AFILIACIONSISTEMAPENSION') {
            grid = Ext.getCmp('gridSistemapension' + t.id);
            seleccion = grid.getSelectionModel().getSelection()[0];

        }
        if (seleccion) {
            function cerrar(btn) {

                if (btn == 'yes') {
                    id = seleccion.get('Id');
                    Ext.Ajax.request({
                        url: t.url + id,
                        method: 'POST',
                        success: function (httpReq) {
                            var textRes = httpReq.responseText;
                            if (textRes == 'OK') {
                                grid.getStore().load();
                            } else {
                                Ext.Msg.show({
                                    title: 'Advertencia',
                                    msg: 'No Se Pudo Eliminar el Registro debido a una relacion de BD',
                                    icon: Ext.MessageBox.ERROR,
                                    buttons: Ext.Msg.OK
                                });
                            }
                            if (textRes == 'Boleta') {
                                Ext.Msg.show({
                                    title: 'Advertencia',
                                    msg: 'No Se Pudo Eliminar el Registro debido a que existe una Boleta Pagada',
                                    icon: Ext.MessageBox.ERROR,
                                    buttons: Ext.Msg.OK
                                });
                            }
                        },
                        failure: function () {
                            alert('Error, Ha ocurrido un error al procesar los datos');

                        }
                    });
                }
            }
            Ext.Msg.confirm('Eliminar Registro', 'Seguro que desea Eliminar el Registro?', cerrar);
        } else {
            Ext.Msg.show({
                title: 'Advertencia',
                msg: 'Seleccione Registro a Eliminar',
                icon: Ext.MessageBox.WARNING,
                buttons: Ext.Msg.OK
            });
        }
    },

    TraerIdPrestamos:  function(IdPersonaSeleccionada){
        var gridEPrtmo = Ext.getCmp('gridPrestamo' + IdPersonaSeleccionada.id);
        seleccion = gridEPrtmo.getSelectionModel().getSelection()[0];

        if (seleccion) {

              IdPersonaSeleccionada.url = 'cuota/IndexById/'+seleccion.get('Id');
              IdPersonaSeleccionada.idCuota = seleccion.get('Id');
              IdPersonaSeleccionada.idPersona = IdPersonaSeleccionada.id;
              opts2.store =  Escritorio.Funciones.StoreSimple(IdPersonaSeleccionada);
              opts2.idPrestamoSeleccionado = IdPersonaSeleccionada.idCuota;
              opts2.title = 'Listado del detalle de Cuotas';
              opts2.columns = [{
                                xtype: 'rownumberer',
                                width: 35
                        }, {
                                header: "Id Cuota",
                                dataIndex: 'IdCuouta',
                                flex: 1,
                        }
                        , {
                                header: "Año",
                                dataIndex: 'Anio',
                                flex: 1,
                        }, {
                                header: "Mes",
                                dataIndex: 'Mes',
                                flex: 1,
                        }, {
                                header: "Monto de Cuota",
                                dataIndex: 'Monto',
                                flex: 1,
                                format: '0,000.00',
                                editor:{
                                    xtype:'numberfield',
                                    allowBlank: false
                                },
                                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                    },
                             summaryType: function (records) {
                                var i = 0,
                                        length = records.length,
                                        total = 0,
                                        record;

                                for (; i < length; ++i) {
                                    record = records[i];
                                    total += record.get('Monto');
                                }
                                return '<span style="font-size: 11px; font-weight: bold;">'+'TOTAL: '+  Ext.util.Format.number(total, '0,000.00') + '</span>';
                            }
                        }
                        , {
                                header: "Monto Pagado",
                                dataIndex: 'Pagada',
                                flex: 1,
                        }
                        ];   
            opts2.id = 'gridDetallePrestamo'+opts2.idPrestamoSeleccionado;
            
            var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                            clicksToMoveEditor: 2,
                            autoCancel: false
                        });

            opts2.plugins = [rowEditing];

          opts2.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        //groupHeaderTpl: 'CUOTAS',
                       // hideGroupedHeader: false,
                       hideGroupedHeader: true,
                        enableGroupingMenu: false
                    };

            if (Ext.getCmp('gridDetallePrestamo' + opts2.id)) { Ext.getCmp('gridDetallePrestamo' + opts2.id).destroy(); }
            
            opts2.grid = Escritorio.Funciones.GridAgrupado(opts2);
            //opts2.grid =    Escritorio.Funciones.GridSimple2(opts2);
            opts2.store.loadPage(1);

            opts2.grid.on('edit', function (editor, e) {
            var GridS = Ext.getCmp(opts2.id);
            var seleccion2 = GridS.getSelectionModel().getSelection()[0];
            
                           Ext.Ajax.request({
                                url: 'cuota/Manual/' +seleccion2.get('IdCuouta'),
                                params: {
                                    Monto: seleccion2.get('Monto'),
                                    IdCuouta:  opts2.idPrestamoSeleccionado,
                                },
                                success: function (httpReq) {
                                    var textRes = httpReq.responseText;
                                    if (textRes == 'ERROR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'No se actualizo el Monto</br>Guarde Otra vez',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    if (textRes == 'MAYOR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'El valor de la cuota es mayor al del monto total',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } 
                                }

                                if (textRes == 'MAYOR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'El VALOR de la cuota seleccionada es mayor al del monto total del prestamo',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } 
                               if (textRes == 'BIEN') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'EL VALOR DE LA SUMA ES MENOR AL TOTAL DEL PRESTAMO',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } 
                            
                                        opts2.store.load();
                                   
                            },
                                failure: function () {
                                    alert('Error, Ha ocurrido un error al procesar los datos');
                                }
                            });

            });

            } 

            else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro PARA VER SUS PRESTAMOS',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }

    },

    TraerIdDescuentos:  function(IdPersonaSeleccionada){
        var gridEPrtmo = Ext.getCmp('gridDescuento' + IdPersonaSeleccionada.id);
        
        seleccion = gridEPrtmo.getSelectionModel().getSelection()[0];

        if (seleccion) {

              IdPersonaSeleccionada.url = 'cuota/IndexById/'+seleccion.get('Id');
              IdPersonaSeleccionada.idCuota = seleccion.get('Id');
              opts2.store =  Escritorio.Funciones.StoreSimple(IdPersonaSeleccionada);
              opts2.idPrestamoSeleccionado = IdPersonaSeleccionada.idCuota;
              opts2.title = 'Listado del detalle de Cuotas';

              opts2.columns = [{
                                xtype: 'rownumberer',
                                width: 35
                        }, {
                                header: "Id Cuota",
                                dataIndex: 'IdCuouta',
                                flex: 1,
                        }
                        , {
                                header: "Año",
                                dataIndex: 'Anio',
                                flex: 1,
                        }, {
                                header: "Mes",
                                dataIndex: 'Mes',
                                flex: 1,
                        }, {
                                header: "Monto de Cuota",
                                dataIndex: 'Monto',
                                flex: 1,
                                format: '0,000.00',
                                editor:{
                                    xtype:'numberfield',
                                    allowBlank: false
                                },
                                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                    },
                                summaryType: function (records) {
                                var i = 0,
                                        length = records.length,
                                        total = 0,
                                        record;

                                for (; i < length; ++i) {
                                    record = records[i];
                                    total += record.get('Monto');
                                }
                                return '<span style="font-size: 11px; font-weight: bold;">'+'TOTAL: '+ Ext.util.Format.number(total, '0,000.00') + '</span>';
                            }
                        }
                        , {
                                header: "Monto Pagado",
                                dataIndex: 'Pagada',
                                flex: 1,
                        }
                        ];   
            opts2.id = 'gridDetalleDescuento'+opts2.idPrestamoSeleccionado;
            var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                            clicksToMoveEditor: 2,
                            autoCancel: false
                        });
            opts2.plugins = [rowEditing];
          opts2.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        //groupHeaderTpl: 'CUOTAS',
                       // hideGroupedHeader: false,
                       hideGroupedHeader: true,
                        enableGroupingMenu: false
                    };

            if (Ext.getCmp('gridDetalleDescuento' + opts2.id)) { Ext.getCmp('gridDetalleDescuento' + opts2.id).destroy(); }
            opts2.grid = Escritorio.Funciones.GridAgrupado(opts2);
         //   opts2.grid =    Escritorio.Funciones.GridSimple2(opts2);
            opts2.store.loadPage(1);


            opts2.grid.on('edit', function (editor, e) {

            var GridS = Ext.getCmp(opts2.id);
            var seleccion2 = GridS.getSelectionModel().getSelection()[0];
            

                           Ext.Ajax.request({
                                url: 'cuota/Manual/' +seleccion2.get('IdCuouta'),
                                params: {
                                    Monto: seleccion2.get('Monto'),
                                    IdCuouta:  opts2.idPrestamoSeleccionado,
                                },
                                success: function (httpReq) {
                                    var textRes = httpReq.responseText;
                                    if (textRes == 'ERROR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'No se actualizo el Monto</br>Guarde Otra vez',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    if (textRes == 'MAYOR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'El valor de la cuota es mayor al del monto total',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } 
                                }

                                if (textRes == 'MAYOR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'El VALOR de la cuota seleccionada es mayor al del monto total del descuento',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } 
                               if (textRes == 'BIEN') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'EL VALOR DE LA SUMA ES MENOR AL TOTAL DEL DESCUENTO',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } 
                            
                                        opts2.store.load();
                                   
                            },
                                failure: function () {
                                    alert('Error, Ha ocurrido un error al procesar los datos');
                                }
                            });

            });

            } 

            else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro PARA VER SUS PRESTAMOS',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }

    },
    Editar: function (t) {
        var seleccion = null,
        parm = {};
        if (t.tabla == 'CCOSTOCTSERV') {
            var GridCCCts = Ext.getCmp('gridCCostoctserv' + t.IdCTServ);
            seleccion = GridCCCts.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmCcostovacacion',
                    url: 'ccostovacacionctserv/edit/' + seleccion.get('Id'),
                    title: 'EDITAR CENTRO COSTO :: ',
                    width: 600,
                    height: 330,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.IdCTServ = t.IdCTServ;
                        p.sueldo = t.sueldo;
                        p.idproyecto = seleccion.get('IdProyecto');
                        p.rawccosto = seleccion.get('NomCCosto');
                        p.porcentaje = seleccion.get('Porcentaje');
                        p.valor = seleccion.get('Monto');
                        p.idpersonal = t.idpersonal;
                        Escritorio.RRHH.FCcostocts(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);

            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'CCVACACION') {
            var GridCCV = Ext.getCmp('gridCcvacacion' + t.idrecordvacacion);
            seleccion = GridCCV.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmCcostovacacion',
                    url: 'ccostovacacionctserv/edit/' + seleccion.get('Id'),
                    title: 'EDITAR CENTRO COSTO :: ',
                    width: 600,
                    height: 330,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.idrecordvacacion = t.idrecordvacacion;
                        p.sueldo = t.sueldo;
                        p.idproyecto = seleccion.get('IdProyecto');
                        p.rawccosto = seleccion.get('NomCCosto');
                        p.porcentaje = seleccion.get('Porcentaje');
                        p.valor = seleccion.get('Monto');
                        p.idpersonal = t.idpersonal;
                        Escritorio.RRHH.FCcostovacacion(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);

            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } // 
        else if (t.tabla == 'CCPROVCTS') {
            var GridCCPCTS = Ext.getCmp('gridCCprovCTS' + t.IdProvCTServ);
            seleccion = GridCCPCTS.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmCcprovCts',
                    url: 'ccprovvacacionctserv/edit/' + seleccion.get('Id'),
                    title: 'EDITAR CENTRO COSTO :: ',
                    width: 600,
                    height: 330,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.IdProvCTServ = t.IdProvCTServ;
                        p.sueldo = t.sueldo;
                        p.idproyecto = seleccion.get('IdProyecto');
                        p.rawccosto = seleccion.get('NomCCosto');
                        p.porcentaje = seleccion.get('Porcentaje');
                        p.valor = seleccion.get('Monto');
                        p.rawproyecto = seleccion.get('Proyecto');
                        p.idpersonal = t.idpersonal;
                        p.rawplancontable = seleccion.get('Plan');
                        Escritorio.RRHH.FCcprovcts(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);

            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'CCPROVVACACION') {
            var GridCCPV = Ext.getCmp('gridCcprovvacacion' + t.IdProvVacacion);
            seleccion = GridCCPV.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmCcprovvacacion',
                    url: 'ccprovvacacionctserv/edit/' + seleccion.get('Id'),
                    title: 'EDITAR CENTRO COSTO :: ',
                    width: 600,
                    height: 330,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.IdProvVacacion = t.IdProvVacacion;
                        p.sueldo = t.sueldo;
                        p.idproyecto = seleccion.get('IdProyecto');
                        p.rawccosto = seleccion.get('NomCCosto');
                        p.porcentaje = seleccion.get('Porcentaje');
                        p.valor = seleccion.get('Monto');
                        p.rawproyecto = seleccion.get('Proyecto');
                        p.idpersonal = t.idpersonal;
                        p.rawplancontable = seleccion.get('Plan');
                        Escritorio.RRHH.FCcprovvacacion(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);

            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'PROVVACACION') {
            var GridOrg = Ext.getCmp('gridProvvacacion' + t.idpersonal);
            seleccion = GridOrg.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmProvvacacion',
                    url: 'provvacacion/edit/' + seleccion.get('Id'),
                    title: 'EDITAR PROVISION VACACIONES :: ',
                    width: 470,
                    height: 250,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        Escritorio.RRHH.FProvvacacion(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);

            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'AREA') {
            var ArbOrg = Ext.getCmp('arbolorganigrama');
            seleccion = ArbOrg.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmArea',
                    url: 'area/edit/' + seleccion.get('id'),
                    title: 'EDITAR AREA :: ' + seleccion.get('text'),
                    width: 470,
                    height: 300,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        Escritorio.RRHH.FArea(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'POSICION') {
            var gridPOS = Ext.getCmp('gridPosicion');
            seleccion = gridPOS.getSelectionModel().getSelection()[0];
            if (seleccion) {

                parm = {
                    id: 'frmPosicion',
                    url: 'posicion/edit/' + seleccion.get('IdPosicion'),
                    title: 'EDITAR POSICION :: ',
                    width: 470,
                    height: 300,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.IdArea = t.IdArea;
                        p.rawcargo = seleccion.get('Cargo');
                        p.rawposid = seleccion.get('CargoJefe');
                        Escritorio.RRHH.FPosicion(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);

            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'APROBARPRESTAMOS') {
            var gridAPretma = Ext.getCmp('gridPrestamo' + t.idpersonal);
            seleccion = gridAPretma.getSelectionModel().getSelection()[0];
            if (seleccion) {
                if (seleccion.get('Aprobado') == false) {
                    parm = {
                        id: 'frmAprobar',
                        url: 'prestamo/aprobar/' + seleccion.get('Id'),
                        title: 'APROBAR PRESTAMO',
                        width: 600,
                        height: 160,
                        callback: function () {
                            var p = {};
                            p.accion = 'edit';
                            p.gridname = 'gridPrestamo'
                            p.idpersonal = t.idpersonal;
                            p.idprestamo = seleccion.get('Id');
                            Escritorio.RRHH.FAprobar(p);
                        }
                    };
                    Escritorio.RRHH.Ventana(parm);
                } else {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'DESCUENTO YA APROBADO',
                        icon: Ext.MessageBox.WARNING,
                        buttons: Ext.Msg.OK
                    });
                }
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Aprobar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'APROBARADELANTOS') {
            var gridAPretma = Ext.getCmp('gridAdelanto' + t.idpersonal);
            seleccion = gridAPretma.getSelectionModel().getSelection()[0];
            if (seleccion) {
                if (seleccion.get('Aprobado') == false) {
                    parm = {
                        id: 'frmAprobar',
                        url: 'adelanto/aprobar/' + seleccion.get('Id'),
                        title: 'APROBAR ADELANTOS',
                        width: 600,
                        height: 160,
                        callback: function () {
                            var p = {};
                            p.accion = 'edit';
                            p.gridname = 'gridAdelanto'
                            p.idpersonal = t.idpersonal;
                            p.idprestamo = seleccion.get('Id');
                            Escritorio.RRHH.FAprobarAdelanto(p);
                        }
                    };
                    Escritorio.RRHH.Ventana(parm);
                } else {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'ADELANTO YA APROBADO',
                        icon: Ext.MessageBox.WARNING,
                        buttons: Ext.Msg.OK
                    });
                }
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Aprobar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        }
        else if (t.tabla == 'APROBARDESCUENTOS') {
            var gridADscto = Ext.getCmp('gridDescuento' + t.idpersonal);
            seleccion = gridADscto.getSelectionModel().getSelection()[0];
            if (seleccion) {
                if (seleccion.get('Aprobado') == false) {
                    parm = {
                        id: 'frmAprobar',
                        url: 'descuento/aprobar/' + seleccion.get('Id'),
                        title: 'APROBAR DESCUENTO',
                        width: 600,
                        height: 220,
                        callback: function () {
                            var p = {};
                            p.accion = 'edit';
                            p.gridname = 'gridDescuento'
                            p.idpersonal = t.idpersonal;
                            p.idprestamo = seleccion.get('Id');
                            Escritorio.RRHH.FAprobarDescuento(p);
                        }
                    };
                    Escritorio.RRHH.Ventana(parm);
                } else {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'DESCUENTO YA APROBADO',
                        icon: Ext.MessageBox.WARNING,
                        buttons: Ext.Msg.OK
                    });
                }
            } else {
                Ext.Msg.show({
                    title: 'Advertenciafunction () {',
                    msg: 'Seleccione Registro A Aprobar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } 
        else if (t.tabla == 'PRESTAMOS') {
            var gridEPrtmo = Ext.getCmp('gridPrestamo' + t.idpersonal);
            seleccion = gridEPrtmo.getSelectionModel().getSelection()[0];

            var maxCuotas;
            Ext.Ajax.request({
                url: 'prestamo/maxcuotas',
                success: function (res) {
                    maxCuotas = res.responseText;
                }
            });

            if (seleccion) {
                if (seleccion.get('Aprobado') == false) {
                    parm = {
                        id: 'frmPrestamo',
                        url: 'prestamo/edit/' + seleccion.get('Id'),
                        title: 'EDITAR PRESTAMO',
                        width: 600,
                        height: 220,
                        callback: function () {
                            var p = {};
                            p.accion = 'edit';
                            p.monto = seleccion.get('Monto');
                            p.maxcuotas = maxCuotas;
                            p.cuotas = seleccion.get('Cuotas');
                            p.idpersonal = t.idpersonal;
                            Escritorio.RRHH.FPrestamo(p);
                        }
                    };
                    Escritorio.RRHH.Ventana(parm);
                } else {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'No Puede Editar Prestamos Aprobados',
                        icon: Ext.MessageBox.WARNING,
                        buttons: Ext.Msg.OK
                    });
                }
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'DESCUENTOS') {
            var gridEDscto = Ext.getCmp('gridDescuento' + t.idpersonal);
            seleccion = gridEDscto.getSelectionModel().getSelection()[0];
            if (seleccion) {
                if (seleccion.get('Aprobado') == false) {
                    parm = {
                        id: 'frmDescuento',
                        url: 'descuento/edit/' + seleccion.get('Id'),
                        title: 'EDITAR DESCUENTO',
                        width: 600,
                        height: 220,
                        callback: function () {
                            var p = {};
                            p.accion = 'edit';
                            p.monto = seleccion.get('Monto');
                            p.idpersonal = t.idpersonal;
                            Escritorio.RRHH.FDescuento(p);
                        }
                    };
                    Escritorio.RRHH.Ventana(parm);
                } else {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'No Puede Editar Descuentos Aprobados',
                        icon: Ext.MessageBox.WARNING,
                        buttons: Ext.Msg.OK
                    });
                }
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        }
        //EDITAR EFPS
        else if (t.tabla == 'AFILIACIONEPS') {
            var gridEDscto = Ext.getCmp('gridAfiliacioneps' + t.idpersonal);
            seleccion = gridEDscto.getSelectionModel().getSelection()[0];
            if (seleccion) {
                /*if (seleccion.get('Aprobado') == false) {*/
                    parm = {
                        id: 'frmAfiliacioneps',
                        url: 'afiliacioneps/edit/' + seleccion.get('Id'),
                        title: 'EDITAR AFILIACIONES EPS',
                        width: 600,
                        height: 220,
                        callback: function () {
                            var p = {};
                            p.accion = 'edit';
                            p.monto = seleccion.get('Monto');
                            p.FechaAlta = seleccion.get('FechaAlta'),
                            p.idpersonal = t.idpersonal;
                            Escritorio.Funciones.FechaAltaEdit(p);
                            Escritorio.RRHH.FAfiliacioneps(p);
                            
                        }
                    };
                    Escritorio.RRHH.Ventana(parm);

               /* } else {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'No Puede Editar Descuentos Aprobados',
                        icon: Ext.MessageBox.WARNING,
                        buttons: Ext.Msg.OK
                    });
                }*/
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        }
        else if (t.tabla == 'AUSENCIAS') {
            var gridEDscto = Ext.getCmp('gridAusencia' + t.idpersonal);
            seleccion = gridEDscto.getSelectionModel().getSelection()[0];
             if (seleccion) {
                       parm = {
                        id: 'frmDescuento',
                        url: 'ausencia/edit/' + seleccion.get('Id'),
                        title: 'EDITAR AUSENCIAS',
                        width: 600,
                        height: 220,
                        callback: function () {
                            var p = {};
                            p.accion = 'edit';
                            p.idpersonal = t.idpersonal;
                            p.idcontratoadendapersonal = vector[0];
                            p.idejerciciomes = vector[1];
                            Escritorio.RRHH.FAusencia(p);
                        }
                    };
                    Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        }

        //FIN DE DESCUENTOS
        else if (t.tabla == 'ADELANTOS') {
            var gridEDscto = Ext.getCmp('gridAdelanto' + t.idpersonal);
            seleccion = gridEDscto.getSelectionModel().getSelection()[0];
            if (seleccion) {
                if (seleccion.get('Aprobado') == false) {
                    parm = {
                        id: 'frmAdelanto',
                        url: 'adelanto/edit/' + seleccion.get('Id'),
                        title: 'EDITAR ADELANTO',
                        width: 600,
                        height: 220,
                        callback: function () {
                            var p = {};
                            p.accion = 'edit';
                            p.monto = seleccion.get('Monto');
                            p.idpersonal = t.idpersonal;
                            Escritorio.RRHH.FAdelanto(p);
                        }
                    };
                    Escritorio.RRHH.Ventana(parm);
                } else {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'No Puede Editar Adelantos Aprobados',
                        icon: Ext.MessageBox.WARNING,
                        buttons: Ext.Msg.OK
                    });
                }
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        }//FIN DE ADELANTOS

         else if (t.tabla == 'EPSSERVICIOSPROPIO') {
            var gridEEPS = Ext.getCmp('gridEpsserviciospropio');
            seleccion = gridEEPS.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmEpsserviciospropio',
                    url: 'epsserviciospropio/edit/' + seleccion.get('Id'),
                    title: 'EDITAR EPS SERVICIOS PROPIOS :: ',
                    width: 600,
                    height: 280,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        Escritorio.RRHH.FEpsserviciospropio(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'TIPOAFILIACION') {
            var gridTipoAfiliacion = Ext.getCmp('gridtipoafiliacion');
            seleccion = gridTipoAfiliacion.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmtipoafiliacion',
                    url: 'tipoafiliacion/edit/' + seleccion.get('Id'),
                    title: 'EDITAR TIPO AFILIACION: ',
                    width: 600,
                    height: 180,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        Escritorio.RRHH.Ftipoafiliacion(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'CARGO') {
            var gridCargo = Ext.getCmp('gridcargo');
            seleccion = gridCargo.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmcargo',
                    url: 'cargo/edit/' + seleccion.get('IdCargo'),
                    title: 'EDITAR CARGO: ',
                    width: 600,
                    height: 180,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        Escritorio.RRHH.Fcargo(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'RENTAQUINTA') {
            var gridCRentaquinta = Ext.getCmp('gridCRentaquinta' + t.id);
            seleccion = gridCRentaquinta.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmrentaquinta',
                    url: 'certificadorq/edit/' + seleccion.get('Id'),
                    title: 'EDITAR CERTIFICADO DE RENTA DE QUINTA: ',
                    width: 600,
                    height: 180,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.id = t.id;
                        Escritorio.RRHH.Frentaquinta(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'SALDOPROVISION') {
            var gridESP = Ext.getCmp('gridProvctserv' + t.idpersonal);
            seleccion = gridESP.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmProvctserv',
                    url: 'provctserv/edit/' + seleccion.get('Id'),
                    title: 'EDITAR SALDO A PROVISIONAR Y DIAS GOZADOS DE VACACIONES :: ',
                    width: 600,
                    height: 200,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.idpersonal = t.idpersonal;
                        p.monto = seleccion.get('Monto'),
                        Escritorio.RRHH.FProvctserv(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'VACACIONES') {
            var gridEVG = Ext.getCmp('gridRecordvacacion' + t.idpersonal);
            seleccion = gridEVG.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmRecordvacacion',
                    url: 'recordvacacion/edit/' + seleccion.get('Id'),
                    title: 'EDITAR VACACIONES GOZADAS :: ',
                    width: 600,
                    height: 200,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.idpersonal = t.idpersonal;
                        p.fechainicio = seleccion.get('Fechainicio'),
                        p.fechafin = seleccion.get('Fechafin'),
                        Escritorio.RRHH.FRecordvacacion(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'PERIODOLABORAL') {
            var gridEPL = Ext.getCmp('gridPeriodolaboral' + t.idpersonal);
            seleccion = gridEPL.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmPeriodolaboral',
                    url: 'periodolaboral/edit/' + seleccion.get('Id'),
                    title: 'Editar Periodo Laboral :: ',
                    width: 600,
                    height: 200,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.idpersonal = t.idpersonal;
                        p.fechainicio = seleccion.get('Fechainicio'),
                        p.fechafin = seleccion.get('Fechafin'),
                        Escritorio.RRHH.FPeriodolaboral(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'FINPERIODOLABORAL') {
            var gridEFPL = Ext.getCmp('gridPeriodolaboral' + t.idpersonal);
            seleccion = gridEFPL.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmPeriodolaboral',
                    url: 'periodolaboral/finalizar/' + seleccion.get('Id'),
                    title: 'Finalizar Periodo Laboral :: ',
                    width: 600,
                    height: 200,
                    callback: function () {
                        var p = {};
                        p.accion = 'finalizar';
                        p.idpersonal = t.idpersonal;
                        p.fechainicio = seleccion.get('Fechainicio'),
                        p.fechafin = seleccion.get('Fechafin'),
                        Escritorio.RRHH.FPeriodolaboral(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'BDERECHOHABIENTES') {
            var gridBDH = Ext.getCmp('gridDerechohabiente' + t.idpersonal);
            seleccion = gridBDH.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmBDerechohabiente',
                    url: 'derechohabiente/baja/' + seleccion.get('Id'),
                    title: 'Editar :: ' + seleccion.get('Persona'),
                    width: 610,
                    height: 200,
                    callback: function () {
                        var p = {};
                        p.accion = 'baja';
                        p.idpersonal = t.idpersonal;
                        Escritorio.RRHH.FBDerechohabiente(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Dar De Baja',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'AFILIACIONSISTEMAPENSION') {
            var gridASP = Ext.getCmp('gridSistemapension' + t.id);
            seleccion = gridASP.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmAfiliacionsistemapension',
                    url: 'afiliacionsistemapension/edit/' + seleccion.get('Id'),
                    title: 'EDITAR AFILIACION: ',
                    width: 600,
                    height: 280,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        Escritorio.RRHH.FAfiliacionsistemapension(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro A Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'DERECHOHABIENTES') {
            var gridEDH = Ext.getCmp('gridDerechohabiente' + t.idpersonal);
            seleccion = gridEDH.getSelectionModel().getSelection()[0];
            if (seleccion) {
                parm = {
                    id: 'frmDerechohabiente',
                    url: 'derechohabiente/edit/' + seleccion.get('Id'),
                    title: 'Editar :: ' + seleccion.get('Persona'),
                    width: 610,
                    height: 500,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.idpersonal = t.idpersonal;
                        p.fechanac = seleccion.get('Fechanacimiento');
                        p.fechaconv = seleccion.get('Fechaconvivencia');
                        Escritorio.RRHH.FDerechohabiente(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro que desea editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        } else if (t.tabla == 'AUSENCIA') {
            var GridEAusencia = Ext.getCmp('gridAusencia' + t.idpersonal);
            seleccion = GridEAusencia.getSelectionModel().getSelection()[0];
            if (seleccion && seleccion.get('Estado') == true) {
                parm = {
                    id: 'frmAusencia',
                    url: 'ausencia/edit/' + seleccion.get('Id'),
                    title: 'EDITAR MOTIVO AUSENCIA :: ',
                    width: 550,
                    height: 380,
                    callback: function () {
                        var p = {};
                        p.accion = 'edit';
                        p.rawmotivoaus = seleccion.get('Motivoausencia');
                        p.fechainicio = seleccion.get('Fechainicio');
                        p.fechafin = seleccion.get('Fechafin');
                        Escritorio.RRHH.FAusencia(p);
                    }
                };
                Escritorio.RRHH.Ventana(parm);
                //alert('OK');
            } else {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro Valido Que Desea Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
            }
        }





    },


    PPersonal: function (xx) {
        var tbar = null,
            opts = {}, p = {};
        //PPersonal 
        if (xx.opcion == 'AFILIACIONEPS') {

            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {
                        var opt = {
                            title: 'NUEVA AFILIACION A EPS',
                            url: 'afiliacioneps/create',
                            id: 'frmAfiliacioneps',
                            callback: function () {
                                var p = {};
                                p.accion = 'new';
                                p.idpersonal = xx.id;
                                Escritorio.RRHH.FAfiliacioneps(p);
                            },
                            width: 500,
                            height: 280
                        };
                        Escritorio.RRHH.Ventana(opt);
                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'AFILIACIONEPS',
                            idpersonal: xx.id
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                },{
                            text: 'Eliminar',
                            iconCls: 'eliminar',
                            itemId: 'delete',
                            hrefTarget: 'afiliacioneps/Delete/',
                            handler: function (btn) {
                                new Escritorio.RRHH.Window8(xx,btn);
                            }
                        }
                ]
            });
//EFPSS
            opts.url = 'afiliacioneps/index/' + xx.id;
            opts.pageSize = 19;
            opts.fields = ['Id', 'Poliza', 'Monto', 'Estado', 'FechaAlta', 'FechaBaja'];
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "Poliza",
                dataIndex: 'Poliza',
                flex: 1
            }, {
                header: "Monto",
                dataIndex: 'Monto',
                flex: 1
            }, {
                header: "Fecha Alta",
                dataIndex: 'FechaAlta',
                flex: 1
            }, /*{
                header: "Fecha Baja",
                dataIndex: 'FechaBaja',
                flex: 1
            }, */{
                header: "Estado",
                dataIndex: 'Estado',
                hidden: true
            }
            ];
            opts.id = 'gridAfiliacioneps' + xx.id;
            opts.grid = Escritorio.Funciones.GridSimple(opts);
            opts.store.loadPage(1);
            var IdAfiliacionepsserviciospropio = null;
            var ccepsmescosto = {};
            opts.grid.on('itemdblclick', function (grid, record, item, index, e) {
                IdAfiliacionepsserviciospropio = record.get('Id');
                //alert(IdAfiliacionepsserviciospropio)
                ccepsmescosto.store.setProxy({
                    type: 'ajax',
                    url: 'epsmescosto/index/' + IdAfiliacionepsserviciospropio,
                    reader: {
                        type: 'json',
                        root: 'grid',
                        totalProperty: 'total'
                    }
                });
                ccepsmescosto.store.loadPage(1);
            });

            //GRID EPS MES COSTO
            tbar2 = Ext.create('Ext.toolbar.Toolbar', {
                items: [ '-', {
                    text: '  '
                }
                ]
            });


            ccepsmescosto.url = 'epsmescosto/index/' + 0;
            ccepsmescosto.pageSize = 40;
            ccepsmescosto.fields = ['IdEpsMesCosto', 'Anio', 'Mes', 'Monto', 'Pagado', 'VerificadoRRHH'];
            ccepsmescosto.groupField = 'Anio';
            ccepsmescosto.groupDir = 'DESC',

            ccepsmescosto.store = Escritorio.Funciones.StoreSimple(ccepsmescosto);
            ccepsmescosto.bbar = Escritorio.Funciones.Paginacion(ccepsmescosto);
            ccepsmescosto.columns = [
                new Ext.grid.RowNumberer(), {
                    header: "Codigo",
                    dataIndex: 'IdEpsMesCosto',
                    width: 130,
                    hidden: true
                }, {
                    header: "Anio",
                    dataIndex: 'Anio',
                    width: 70
                }, {
                    header: "Mes",
                    dataIndex: 'Mes',
                    flex: 1,
                    renderer: function (value) {
                        return value == 1 ? 'ENERO' : value == 2 ? 'FEBRERO' : value == 3 ? 'MARZO' : value == 4 ? 'ABRIL' :
                            value == 5 ? 'MAYO' : value == 6 ? 'JUNIO' : value == 7 ? 'JULIO' : value == 8 ? 'AGOSTO' :
                            value == 9 ? 'SETIEMBRE' : value == 10 ? 'OCTUBRE' : value == 11 ? 'NOVIEMbRE' : 'DICIEMBRE';
                    }
                }, {
                    header: "Monto",
                    dataIndex: 'Monto',
                    flex: 1,
                    renderer: function (value) {
                        return value != null ? 'S/. ' + value.toFixed(2) : '';
                    },
                    editor: {
                        xtype: 'numberfield',
                        allowBlank: false
                    }
                }, {
                    header: "Pagado",
                    dataIndex: 'Pagado',
                    flex: 1,
                    renderer: function (value) {
                        return value == true ? 'Si' : 'No';
                    }
                }, {
                    header: "VerificadoRRHH",
                    dataIndex: 'VerificadoRRHH',
                    flex: 1,
                    renderer: function (value) {
                        return value == true ? 'Si' : 'No';
                    }
                }
            ];
            var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                clicksToMoveEditor: 2,
                autoCancel: false
            });

            ccepsmescosto.id = 'gridEpsmescosto';
            ccepsmescosto.groupingFeature = {
                id: 'group',
                ftype: 'groupingsummary',
                groupHeaderTpl: 'EPS  : {name}',
                hideGroupedHeader: false,
                enableGroupingMenu: false
            },

            ccepsmescosto.plugins = [rowEditing];
            ccepsmescosto.grid = Escritorio.Funciones.GridAgrupado(ccepsmescosto);
            ccepsmescosto.store.loadPage(1);


            ccepsmescosto.grid.on('edit', function (editor, e) {

                var GridS = Ext.getCmp('gridEpsmescosto');
                var seleccion = GridS.getSelectionModel().getSelection()[0];

                Ext.Ajax.request({
                    url: 'epsmescosto/manual/' + seleccion.get('IdEpsMesCosto'),
                    params: {
                        Monto: seleccion.get('Monto')
                    },
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'ERROR') {
                            Ext.Msg.show({
                                title: 'Advertencia',
                                msg: 'No se actualizo el monto</br>Guarde Otra vez',
                                icon: Ext.MessageBox.WARNING,
                                buttons: Ext.Msg.OK
                            });
                        } else {
                            ccepsmescosto.store.load();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });

            });

            var panelAEPS = Ext.create('Ext.panel.Panel', {
                id: 'panelafiliacioneps' + xx.id,
                tbar: tbar,
                title: 'AFILIACIONE EPS',
                layout: 'fit',
                region: 'west',
                flex: 6,

                bodyBorder: false,
                items: opts.grid,
                border: false,
                split: true,
                collapsible: true

            });


            var panelizq = Ext.create('Ext.panel.Panel', {
                title: 'Seguro de Vida',
                tbar: tbar2,
                layout: 'fit',
                region: 'center',
                flex: 6,
                items: ccepsmescosto.grid,
                height: 350,
                minSize: 75,
                maxSize: 250,
                bodyBorder: false,
                border: false,
                split: true
                //collapse:true

            });

            var panel2 = Ext.create('Ext.panel.Panel', {
                id: 'pa',
                layout: 'border',
                //tbar:tbar,
                bodyBorder: false,
                defaults: {
                    collapsible: true,
                    split: true,
                    animFloat: false,
                    autoHide: false,
                    useSplitTips: true
                },
                items: [panelAEPS, panelizq],
                border: false

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panel2);

        } else if (xx.opcion == 'SISTEMAPENSION') {

            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['Presione doble clic para editar','->',
                //            {text: 'Nuevo', iconCls: 'nuevoIconSmall',
                //                handler : function () {
                //                var opt = {title : 'Nueva Afiliacion Al Sistema De Pensiones',
                //                url : 'afiliacionsistemapension/create',id: 'frmAfiliacionsistemapension',
                //                    callback : function () {
                //                    var p = {};
                //                    p.accion = 'new';
                //                    p.idpersonal = xx.id;
                //                    Escritorio.RRHH.FAfiliacionsistemapension(p);},
                //                    width: 470,height :300
                //                };
                //                 Escritorio.RRHH.Ventana(opt);
                //            }
                //            },'-',
                //            {text: 'Editar', iconCls: 'editIconSmall',
                //                handler: function () {
                //                var opts = {tabla: 'AFILIACIONSISTEMAPENSION'};
                //                Escritorio.Productores.Editar(opts);
                //                }
                //            }    
                    , {
                        text: 'Nuevo', iconCls: 'nuevoIconSmall',
                        itemId: 'new',
                        handler: function () {
                            var opt = { title: 'Nueva Afiliacion Al Sistema De Pensiones',
                                url: 'afiliacionsistemapension/create', id: 'frmAfiliacionsistemapension',
                                callback: function () {
                                    var p = {};
                                    p.accion = 'new';
                                    p.idpersonal = xx.id;
                                    Escritorio.RRHH.FAfiliacionsistemapension(p);
                                },
                                width: 470, height: 300
                            };
                            Escritorio.RRHH.Ventana(opt);
                        }
                    }, '-', {
                        text: 'Eliminar', iconCls: 'deleteIcon',
                        hrefTarget: 'afiliacionsistemapension/Delete',
                        handler: function () {
                            var opts = {
                                tabla: 'AFILIACIONSISTEMAPENSION',
                                id: xx.id,
                                url: 'afiliacionsistemapension/Delete/'
                            };
                            Escritorio.RRHH.Eliminar(opts);
                        }
                    }/*, '-',
                    { text: 'Editar', iconCls: 'editIconSmall',
                        //                        hrefTarget: 'afiliacionsistemapension/Edit',
                        handler: function () {
                            var opts = { tabla: 'AFILIACIONSISTEMAPENSION',
                                id: xx.id,
                                url: 'afiliacionsistemapension/Edit/'
                            };
                            Escritorio.RRHH.Editar(opts);
                        }
                    }*/

                ]
            });
            opts.url = 'afiliacionsistemapension/index/' + xx.id;
            opts.pageSize = 19;
            opts.fields = ['Id', 'Sistemapension', 'Fechaafiliacion', 'CUSPP', 'Estado', 'Idpersona', 'NombreAfiliacion'];
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
        var par = {};
        par.url = 'sistemapension/index';
        par.fields = ['IdSistemaPensiones', 'Nombre', 'Descripcion'];
        par.pageSize = 15;
        par.emptyText = 'Seleccione Motivo Ausencia'
        par.store  =   Escritorio.Funciones.StoreSimple(par);

        var TipoAfiliacion = {};
        TipoAfiliacion.url = 'tipoafiliacion/Index/';
        TipoAfiliacion.fields = ['Id', 'Nombre'];
        TipoAfiliacion.pageSize = 15;
        TipoAfiliacion.emptyText = 'Seleccione Motivo Ausencia'
        TipoAfiliacion.store  =   Escritorio.Funciones.StoreSimple(TipoAfiliacion);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "Idpersona",
                dataIndex: 'Idpersona',
                hidden: true
            }, {
                header: "Sistema De Pension",
                dataIndex: 'Sistemapension',
                width: 410,
                editor: {
                    xtype: 'combo',
                    store: par.store,
                    allowBlank: false,
                    displayField: 'Descripcion',
                    editable: false,
                    queryMode: 'remote',
                    triggerAction: 'all',
                    valueField  : 'IdSistemaPensiones',
                    emptyText : 'Motivoausencia',
                    width:250,
                    loadingText: 'Buscando...',
                    emptyText: 'Selecciona motivo',
                    getInnerTpl: function() {
                                return '<a>' +
                                '<h3></span>{Nombre}'+'</h3>' +
                                '</a>';
                    }
                },
            }, {
                header: "Fecha De Afiliacion",
                dataIndex: 'Fechaafiliacion',
                width: 140,
                editor: {
                    xtype: 'datefield',
                    allowBlank: false,
                    format: 'd/m/Y',
                    submitFormat: 'Y-m-d H:i:s'
                 },
            }, {
                header: "CUSPP",
                dataIndex: 'CUSPP',
                width: 180,
                editor: {
                    xtype: 'textfield',
                    allowBlank: true,
                    emptyText: 'Introdusca comentario',
                 },
            }, {
                header: "Tipo de Afiliacion",
                dataIndex: 'NombreAfiliacion',
                width: 410,
                editor: {
                    xtype: 'combo',
                    store: TipoAfiliacion.store,
                    allowBlank: false,
                    displayField: 'Nombre',
                    editable: false,
                    queryMode: 'remote',
                    triggerAction: 'all',
                    valueField  : 'Id',
                    emptyText : 'Tipo Afiliacion',
                    width:250,
                    loadingText: 'Buscando...',
                    emptyText: 'Selecciona Nombre',
                    getInnerTpl: function() {
                                return '<a>' +
                                '<h3></span>{Nombre}'+'</h3>' +
                                '</a>';
                    }
                },
            }, {
                header: "Estado",
                dataIndex: 'Estado',
                width: 90,
                renderer: function (val) {
                    return (val == true ? 'Activo' : 'Inactivo')

                },
                editor: {
                       xtype: 'checkbox',
                       cls: 'x-grid-checkheader-editor'
                                    //allowBlank: false
                 }
            }
            ];
            opts.id = 'gridSistemapension' + xx.id;

            var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                            clicksToMoveEditor: 2,
                            autoCancel: false
                        });
            opts.plugins = [rowEditing];

            opts.grid = Escritorio.Funciones.GridSimple(opts);
            opts.store.loadPage(1);
            opts.grid.on('edit', function (editor, e) {

                            var GridS = Ext.getCmp('gridSistemapension' + xx.id);
                            var seleccion = GridS.getSelectionModel().getSelection()[0];
                            var combito = seleccion.get('Sistemapension');
                            var combito2 = seleccion.get('NombreAfiliacion');

                            if(combito=='DECRETO LEY 19990 - SISTEMA NACIONAL DE PENSIONES - ONP'){
                                   combito = '6';
                            }
                            if(combito=='DECRETO LEY 20530 - SISTEMA NACIONAL DE PENSIONES'){
                                   combito = '5';
                            }
                            if(combito=='SIN REGIMEN PENSIONARIO'){
                                   combito = '7';
                            }
                            if(combito=='SPP HABITAT'){
                                   combito = '9';
                            }
                            if(combito=='SPP HORIZONTE'){
                                   combito = '2';
                            }
                            if(combito=='INTEGRA'){
                                   combito = '1';
                            }
                            if(combito=='PRIMA'){
                                   combito = '4';
                            }
                            if(combito=='SPP PROFUTURO'){
                                   combito = '3';
                            }

                            if(combito2=='Comision Mixta'){
                                   combito2 = '2';
                            }
                            if(combito2=='Comision por Flujo'){
                                   combito2 = '1';
                            }
                           //alert(combito);
                           // alert(combito2);
                               // alert(seleccion.get('Sistemapension'));
                              //  alert(seleccion.get('NombreAfiliacion'));

                            Ext.Ajax.request({
                                url: 'afiliacionsistemapension/edit/' + seleccion.get('Id'),
                                params: {
                                    FechaAfiliacion: seleccion.get('Fechaafiliacion'),
                                    CUSPP: seleccion.get('CUSPP'),
                                    IdSistemaPensiones: combito,
                                    IdTipoAfiliacion: combito2,
                                    Estado: seleccion.get('Estado'),
                                },

                                success: function (httpReq) {
                                    var textRes = httpReq.responseText;
                                    if (textRes == 'ERROR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'No se actualizo Retencion</br>Guarde Otra vez',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } else {
                                        opts.store.load();
                                    }
                                },
                                failure: function () {
                                    alert('Error, Ha ocurrido un error al procesar los datos');
                                }
                            });

                        });

            var panel = Ext.create('Ext.panel.Panel', {
                id: 'panelsistemapension' + xx.id,
                title: 'AFILIACIONES SISTEMA PENSIONES',
                layout: 'fit',
                tbar: tbar,
                bodyBorder: false,
                items: opts.grid,
                border: false

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panel);
        } 
        //AQUI GENERAMOS LAS OPCIONES PARA LOS PRESTAMOSSS
        else if (xx.opcion == 'PRESTAMOS') {
            var maxCuotas;
            Ext.Ajax.request({
                url: 'prestamo/maxcuotas',
                success: function (res) {
                    maxCuotas = res.responseText;
                }
            });

            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['Presione doble clic para ver detalle','->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {
                        Ext.Ajax.request({
                            url: 'periodolaboral/Comprobar/' + xx.id,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                if (textRes != '0') {
                                    var opt = {
                                        title: 'DESCUENTO DE SUELDO',
                                        url: 'prestamo/create',
                                        id: 'frmPrestamo',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.IdPeriodoLaboral = textRes;
                                            p.idpersonal = xx.id;
                                            //var cuotasx = 0;
                                            p.maxcuotas = maxCuotas;
                                            Escritorio.RRHH.FPrestamo(p);
                                        },
                                        width: 610,
                                        height: 220
                                    };
                                    Escritorio.RRHH.Ventana(opt);
                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE PERIODO LABORAL ACTIVO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });
                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'PRESTAMOS',
                            idpersonal: xx.id
                        };

                        idPrestamoSeleccionado = xx.id;
                      //  alert('editar a:'+idPrestamoSeleccionado);
                        Escritorio.RRHH.Editar(opts);
                    }
                }, '-', {
                            text: 'Eliminar',
                            iconCls: 'eliminar',
                            itemId: 'delete',
                            hrefTarget: 'cuota/Delete/',
                            handler: function (btn) {
                                     var opts = {
                                        tabla: 'PRESTAMOS',
                                        idpersonal: xx.id
                                    };
                                    idPrestamoSeleccionado = xx.id;
                                    //Escritorio.Funciones.Window3(opts);
                                    new Escritorio.RRHH.Window3(opts,btn);
                                    //Escritorio.RRHH.EliminarPrestamo(opts);
                                     
                            }
                        }, '-', {
                    text: 'Aprobar',
                    iconCls: 'aprobar',
                    handler: function () {
                        var opts = {
                            tabla: 'APROBARPRESTAMOS',
                            idpersonal: xx.id
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }
                ]
            });

            opts.url = 'prestamo/index/' + xx.id;
            opts.pageSize = 90;
            opts.fields = ['Id', 'FechaS', 'FechaE', 'Monto', 'Cuotas', 'JefeArea', 'Director', 'Aprobado'];
            opts.sorters = [{
                property: 'Grupo',
                direction: 'DESC'
            }
            ];
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            //Para la paginación de los prestamos
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, //
                {
                header: "Fecha Solicitud",
                dataIndex: 'FechaS',
                flex: 1,
                //formatoss
               /* renderer: function (value) {
                        return value =="Inactivo" ?'<span style="color:red;">'+"Inactivo"+'</span>':'<span style="color:green;">'+"Activo"+'</span>';
                }*/
            }, {
                header: "Fecha Aprobacion",
                dataIndex: 'FechaE',
                flex: 1
            }, {
                header: "Monto",
                dataIndex: 'Monto',
                flex: 1,
                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                }
            }, {
                header: "Cuotas",
                dataIndex: 'Cuotas',
                flex: 1
            }, {
                header: "Jefe Area",
                dataIndex: 'JefeArea',
                flex: 2
            }, {
                header: "Director",
                dataIndex: 'Director',
                flex: 2
            }
            ];
            opts.id = 'gridPrestamo' + xx.id;
            if (Ext.getCmp('gridPrestamo' + xx.id)) { Ext.getCmp('gridPrestamo' + xx.id).destroy(); }

            opts.grid = Escritorio.Funciones.GridSimple(opts);
            opts.store.loadPage(1);
            opts.tbar = Escritorio.Funciones.Bar(opts);

            var panelDetallePrestamos = Ext.create('Ext.tab.Panel', {
                        id:'idPanelDetallePrestamos',
                        region: 'south',
                        });

           var panelPrestamosListados = Ext.create('Ext.panel.Panel', {

            id: 'PrestamosListados',
            region: 'center',
            items: opts.grid,
            trackOver: true,
            listeners: {
                    element  : 'el',
                    dblclick : function(btn) {
                    var detallepanel = null;
                        opts2 = {
                            id: xx.id,
                            pageSize :19,
                            url:'cuota/IndexById/'+xx.id,
                            fields :['IdCuouta','Anio', 'Mes','Monto','Pagada'],
                            groupField: 'Anio',   
                        };

                        Escritorio.RRHH.TraerIdPrestamos(opts2);
                        
                        detallepanel =  Ext.create('Ext.tab.Panel', {
                            region: 'south',
                            title: 'Prestamo #'+opts2.idPrestamoSeleccionado,
                            closable: true,
                            height:250,
                            items: [{
                                    xtype: 'panel',
                                    title: 'DETALLE DEL PRESTAMO',
                                    layout: 'fit',
                                    bodyBorder: false,
                                    closable: true,
                                    items: opts2.grid,
                                    border: false
                            }]
                        });
                        Ext.getCmp('idPanelDetallePrestamos').removeAll();
                        Ext.getCmp('idPanelDetallePrestamos').add(detallepanel);
                        Ext.getCmp('idPanelDetallePrestamos').setActiveTab(detallepanel);

                    }
            }
            
        });
            //PRESTAMOSS

            var panelPrestamo = Ext.create('Ext.panel.Panel', {
                id: 'panelPrestamo' + xx.id,
                title: 'Prestamos / Adelantos',
                layout: 'border',
                tbar: tbar,
                bodyBorder: false,
                items: [panelDetallePrestamos,panelPrestamosListados],
                border: true

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panelPrestamo);

        } else if (xx.opcion == 'DESCUENTOS') {

            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['Presione doble clic para ver detalle','->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {
                        Ext.Ajax.request({
                            url: 'periodolaboral/Comprobar/' + xx.id,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                if (textRes != '0') {
                                    var opt = {
                                        title: 'DESCUENTO DE SUELDO',
                                        url: 'descuento/create',
                                        id: 'frmDescuento',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.IdPeriodoLaboral = textRes;
                                            p.idpersonal = xx.id;
                                            p.url = 'descuento/create';
                                            Escritorio.RRHH.FDescuento(p);
                                        },
                                        width: 610,
                                        height: 220
                                    };
                                    Escritorio.RRHH.Ventana(opt);
                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE PERIODO LABORAL ACTIVO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });
                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'DESCUENTOS',
                            idpersonal: xx.id
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }, '-', {
                            text: 'Eliminar',
                            iconCls: 'eliminar',
                            itemId: 'delete',
                            hrefTarget: 'cuota/Delete/',
                            handler: function (btn) {
                                     var opts = {
                                        tabla: 'PRESTAMOS',
                                        idpersonal: xx.id
                                    };
                                    idPrestamoSeleccionado = xx.id;
                                    //Escritorio.Funciones.Window3(opts);
                                    new Escritorio.RRHH.Window4(opts,btn);
                                    //Escritorio.RRHH.EliminarPrestamo(opts);
                                     
                            }
                        }, '-', {
                    text: 'Aprobar',
                    iconCls: 'aprobar',
                    handler: function () {
                        var opts = {
                            tabla: 'APROBARDESCUENTOS',
                            idpersonal: xx.id
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }
                ]
            });

            opts.url = 'descuento/index/' + xx.id;
            opts.pageSize = 19;
            opts.fields = ['Id', 'FechaS', 'FechaE', 'Monto', 'Cuotas', 'JefeArea', 'Director', 'Aprobado'];
            opts.sorters = [{
                property: 'Grupo',
                direction: 'DESC'
            }
            ];
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "Fecha Solicitud",
                dataIndex: 'FechaS',
                flex: 1
            }, {
                header: "Fecha Aprobacion",
                dataIndex: 'FechaE',
                flex: 1
            }, {
                header: "Monto",
                dataIndex: 'Monto',
                flex: 1,
                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                }
            }, {
                header: "Cuotas",
                dataIndex: 'Cuotas',
                flex: 1
            }, {
                header: "Jefe Area",
                dataIndex: 'JefeArea',
                flex: 2
            }, {
                header: "Director",
                dataIndex: 'Director',
                flex: 2
            }
            ];
            opts.id = 'gridDescuento' + xx.id;
 if (Ext.getCmp('gridDescuento' + xx.id)) { Ext.getCmp('gridDescuento' + xx.id).destroy(); }
            opts.grid = Escritorio.Funciones.GridSimple(opts);
            opts.store.loadPage(1);


            var panelDetalleDescuentos = Ext.create('Ext.tab.Panel', {
                        id:'idPanelDetalleDescuentos',
                        region: 'south',
                        });

           var panelDescuentosListados = Ext.create('Ext.panel.Panel', {
            id: 'DescuentosListados',
            region: 'center',
            items: opts.grid,
            trackOver: true,
            listeners: {
                    element  : 'el',
                    dblclick : function(btn) {
                    var detallepanel = null;
                        opts2 = {
                            id: xx.id,
                            pageSize :19,
                            url:'cuota/IndexById/'+xx.id,
                            fields :['IdCuouta','Anio', 'Mes','Monto','Pagada'],
                            groupField: 'Anio',
                        };

                        Escritorio.RRHH.TraerIdDescuentos(opts2);
                        
                        detallepanel =  Ext.create('Ext.tab.Panel', {
                            region: 'south',
                            title: 'Descuento #'+opts2.idPrestamoSeleccionado,
                            closable: true,
                            height:250,
                            items: [{
                                    xtype: 'panel',
                                    title: 'DETALLE DEL DESCUENTO',
                                    layout: 'fit',
                                    bodyBorder: false,
                                    closable: true,
                                    items: opts2.grid,
                                    border: false
                            }]
                        });
                        Ext.getCmp('idPanelDetalleDescuentos').removeAll();
                        Ext.getCmp('idPanelDetalleDescuentos').add(detallepanel);
                        Ext.getCmp('idPanelDetalleDescuentos').setActiveTab(detallepanel);

                    }
            }
            
        });


            var panelDescuento = Ext.create('Ext.panel.Panel', {
                id: 'panelDescuento' + xx.id,
                title: 'Descuento de sueldo',
                layout: 'border',
                tbar: tbar,
                bodyBorder: false,
                items: [panelDetalleDescuentos,panelDescuentosListados],
                border: true

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panelDescuento);
          /*var panelAS = Ext.create('Ext.panel.Panel', {
                id: 'panelDescuento' + xx.id,
                title: 'DESCUENTO DE SUELDO',
                layout: 'fit',
                tbar: tbar,
                bodyBorder: false,
                items: opts.grid,
                border: false

            });*/

        } else if (xx.opcion == 'ADELANTOS') {
            //ADELANTOSS
            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {
                        Ext.Ajax.request({
                            url: 'periodolaboral/Comprobar/' + xx.id,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                if (textRes != '0') {
                                    var opt = {
                                        title: 'OTROS',
                                        url: 'adelanto/create',
                                        id: 'frmAdelanto',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.IdPeriodoLaboral = textRes;
                                            p.idpersonal = xx.id;
                                            Escritorio.RRHH.FAdelanto(p);
                                        },
                                        width: 610,
                                        height: 200
                                    };
                                    Escritorio.RRHH.Ventana(opt);
                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE PERIODO LABORAL ACTIVO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });
                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'ADELANTOS',
                            idpersonal: xx.id
                        };
                      //  alert('Adelantos el id es:'+xx.id);
                        Escritorio.RRHH.Editar(opts);
                    }
                },
                    {
                            text: 'Eliminar',
                            iconCls: 'eliminar',
                            itemId: 'delete',
                            hrefTarget: 'adelanto/Delete/',
                            handler: function (btn) {
                                     var opts = {
                                        tabla: 'PRESTAMOS',
                                        idpersonal: xx.id
                                    };
                                    idPrestamoSeleccionado = xx.id;
                                    new Escritorio.RRHH.Window5(opts,btn);                                    
                            }
                        }
                        , '-', {
                    text: 'Aprobar',
                    iconCls: 'aprobar',
                    handler: function () {
                        var opts = {
                            tabla: 'APROBARADELANTOS',
                            idpersonal: xx.id
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }
                ]
            });

            opts.url = 'adelanto/index/' + xx.id;
            opts.pageSize = 19;
            opts.fields = ['Id', 'Periodo', 'FechaS', 'FechaE', 'Monto','Aprobado'];
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "Periodo",
                dataIndex: 'Periodo',
                flex: 1
            }, {
                header: "Fecha Solicitud",
                dataIndex: 'FechaS',
                flex: 1
            }, {
                header: "Fecha Aprobacion",
                dataIndex: 'FechaE',
                flex: 1
            }, {
                header: "Monto",
                dataIndex: 'Monto',
                flex: 1,
                renderer: function (value, metaData, record) {
                            return  Ext.util.Format.number(value, '0,000.00');
                }
            }
            , {
                header: "Aprobado",
                dataIndex: 'Aprobado',
                flex: 1,
                hidden: true
            }
            ];
            opts.id = 'gridAdelanto' + xx.id;
            opts.grid = Escritorio.Funciones.GridSimple(opts);
            opts.store.loadPage(1);

            var panelAdelanto = Ext.create('Ext.panel.Panel', {
                id: 'panelAdelanto' + xx.id,
                title: 'OTROS',
                layout: 'fit',
                tbar: tbar,
                bodyBorder: false,
                items: opts.grid,
                border: false

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panelAdelanto);
        } else if (xx.opcion == 'VACACIONES') {
            opts.tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {
                        Ext.Ajax.request({
                            url: 'periodolaboral/Comprobar/' + xx.id,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                if (textRes != '0') {
                                    var opt = {
                                        title: 'ASIGNAR PERIODO DE VACACIONES',
                                        url: 'recordvacacion/create',
                                        id: 'frmRecordvacacion',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.IdPeriodoLaboral = textRes;
                                            p.idpersonal = xx.id;
                                            Escritorio.RRHH.FRecordvacacion(p);
                                        },
                                        width: 600,
                                        height: 200
                                    };
                                    Escritorio.RRHH.Ventana(opt);
                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE PERIODO LABORAL ACTIVO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });
                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'VACACIONES',
                            idpersonal: xx.id
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }
                ]
            });

            opts.url = 'recordvacacion/index/' + xx.id;
            opts.pageSize = 19;
            opts.fields = ['Id', 'Fechainicio', 'Fechafin', 'Dias', 'Monto'];
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "Fecha Inicio",
                dataIndex: 'Fechainicio',
                flex: 1
            }, {
                header: "Fecha Fin",
                dataIndex: 'Fechafin',
                flex: 1
            }, {
                header: "Dias Gozados",
                dataIndex: 'Dias',
                flex: 1
            }, {
                header: "Monto",
                dataIndex: 'Monto',
                flex: 1
            }
            ];
            opts.id = 'gridRecordvacacion' + xx.id;
            opts.grid = Escritorio.Funciones.GridSimple(opts);
            opts.store.loadPage(1);

            opts.grid.on('itemdblclick', function (grid, record, item, index, e) {
                var titulo = (record.get('Fechainicio')).substring(0, 12);
                var idrecordvacacion = record.get('Id'),
                    Monto = record.get('Monto');
                var EPnCCV = Ext.getCmp('panelCCVacacion' + idrecordvacacion);

                if (!EPnCCV) {
                    var ccv = {};
                    ccv.tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['->', {
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                            handler: function () {
                                var opt = {
                                    title: 'CENTRO DE COSTO POR VACACIONES',
                                    url: 'ccostovacacionctserv/create',
                                    id: 'frmCcostovacacion',
                                    callback: function () {
                                        var p = {};
                                        p.accion = 'new';
                                        p.idrecordvacacion = idrecordvacacion;
                                        p.sueldo = Monto;
                                        p.idpersonal = xx.id;
                                        Escritorio.RRHH.FCcostovacacion(p);
                                    },
                                    width: 600,
                                    height: 330
                                };
                                Escritorio.RRHH.Ventana(opt);
                            }
                        }, '-', {
                            text: 'Editar',
                            iconCls: 'editIconSmall',
                            handler: function () {
                                var opts = {
                                    tabla: 'CCVACACION',
                                    idrecordvacacion: idrecordvacacion,
                                    sueldo: Monto,
                                    idpersonal: xx.id
                                };
                                Escritorio.RRHH.Editar(opts);
                            }
                        }
                        ]
                    });

                    //crear grid para vacunos
                    ccv.url = 'ccostovacacionctserv/indexvacacion/' + idrecordvacacion;
                    ccv.pageSize = 100;
                    ccv.fields = ['Id', 'idrecordvacacion', 'CodCCosto', 'IdProyecto', 'NomCCosto', 'Monto', 'Porcentaje', 'Estado'];
                    ccv.groupField = 'idrecordvacacion',
                    ccv.store = Escritorio.Funciones.StoreSimple(ccv);
                    ccv.bbar = Escritorio.Funciones.Paginacion(ccv);
                    ccv.columns = [
                        new Ext.grid.RowNumberer(), {
                            header: "Codigo",
                            dataIndex: 'Id',
                            width: 130,
                            hidden: true
                        }, {
                            header: "Cod CCosto",
                            dataIndex: 'CodCCosto',
                            width: 70
                        }, {
                            header: "Nom CCosto",
                            dataIndex: 'NomCCosto',
                            flex: 1
                        }, {
                            header: "Monto S/.",
                            dataIndex: 'Monto',
                            width: 120,
                            summaryType: function (records) {
                                var i = 0,
                                    length = records.length,
                                    total = 0,
                                    record;
                                for (; i < length; ++i) {
                                    record = records[i];
                                    total += record.get('Monto');
                                }
                                return '<span style="font-size: 8px; font-weight: bold;">TOTAL : </span>' + (
                                    total == Monto ? '<span style="color:green;">' + (total).toFixed(2) + '</span>' :
                                    '<span style="color:red;">' + (total).toFixed(2) + '</span>');
                            }
                        }, {
                            header: "Estado",
                            dataIndex: 'Estado',
                            width: 110,
                            renderer: function (value) {
                                return value == true ? '<span style="color:green;">PAGADO</span>' :
                                    '<span style="color:red;">POR PAGAR</span>';
                            }
                        }
                    ];
                    ccv.id = 'gridCcvacacion' + idrecordvacacion;
                    ccv.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        groupHeaderTpl: 'CENTROS COSTO :',
                        hideGroupedHeader: false,
                        enableGroupingMenu: false
                    },
                    ccv.grid = Escritorio.Funciones.GridAgrupado(ccv);
                    ccv.store.loadPage(1);
                    var PnCCV = Ext.create('Ext.panel.Panel', {
                        id: 'panelCCVacacion' + idrecordvacacion,
                        title: titulo.substr(0, 15),
                        layout: 'fit',
                        //tbar:pbarproductores,
                        bodyBorder: false,
                        closable: true,
                        items: ccv.grid,
                        border: false

                    });

                    Ext.getCmp('panelRecordvacacion' + xx.id).add(PnCCV);
                    Ext.getCmp('panelRecordvacacion' + xx.id).setActiveTab(PnCCV);
                } else {
                    Ext.getCmp('panelRecordvacacion' + xx.id).setActiveTab(EPCCPV);
                }

            });

            var panelrcv = Ext.create('Ext.tab.Panel', {
                id: 'panelRecordvacacion' + xx.id,
                layout: 'fit',
                region: 'center',
                items: [{
                    xtype: 'panel',
                    title: 'RECORD DE VACACIONES',
                    id: 'panelRV' + xx.id,
                    layout: 'fit',
                    items: opts.grid
                }
                ]
            });

            var prv = {};
            prv.tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {
                        Ext.Ajax.request({
                            url: 'periodolaboral/Comprobar/' + xx.id,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                if (textRes != '0') {
                                    var opt = {
                                        title: 'Agregar Historico Provision de Vacaciones',
                                        url: 'provvacacion/create',
                                        id: 'frmProvvacacion',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.IdPeriodoLaboral = textRes;
                                            p.idpersonal = xx.id;
                                            Escritorio.RRHH.FProvvacacion(p);
                                        },
                                        width: 600,
                                        height: 250
                                    };
                                    Escritorio.RRHH.Ventana(opt);
                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE PERIODO LABORAL ACTIVO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });
                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'PROVVACACION',
                            idpersonal: xx.id
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }
                ]
            });

            prv.url = 'provvacacion/indexconid/' + xx.id;
            prv.pageSize = 19;
            prv.fields = ['Id', 'Anio', 'FechaIngreso', 'VacacionesGozadas', 'Sueldo',
                    'MontoProvisionar', 'SaldoProvisionado', 'Aprovisionar'
            ];
            prv.store = Escritorio.Funciones.StoreSimple(prv);
            prv.bbar = Escritorio.Funciones.Paginacion(prv);
            prv.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "A&ntildeio",
                dataIndex: 'Anio',
                width: 80
            }, {
                header: "Fecha Ingreso",
                dataIndex: 'FechaIngreso',
                width: 80
            }, {
                header: "V. Gozadas",
                dataIndex: 'VacacionesGozadas',
                width: 70
            }, {
                header: "Sueldo",
                dataIndex: 'Sueldo',
                flex: 1
            }, {
                header: "Monto Prov",
                dataIndex: 'MontoProvisionar',
                flex: 1
            }, {
                header: "Saldo Prov",
                dataIndex: 'SaldoProvisionado',
                flex: 1
            }, {
                header: "A Provisionar",
                dataIndex: 'Aprovisionar',
                flex: 1
            }
            ];
            prv.id = 'gridProvvacacion' + xx.id;
            prv.grid = Escritorio.Funciones.GridSimple(prv);
            prv.store.loadPage(1);

            prv.grid.on('itemdblclick', function (grid, record, item, index, e) {
                var titulo = ('CC ' + record.get('Anio')).substring(0, 12);
                var IdProvVacacion = record.get('Id'),
                    MontoProvisionar = record.get('MontoProvisionar');

                var EPCCPV = Ext.getCmp('panelccprovvacacion' + IdProvVacacion);

                if (!EPCCPV) {
                    var ccpv = {};

                    ccpv.tbar = Ext.create('Ext.toolbar.Toolbar', {
                        //border  :false,
                        items: ['->', {
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                            handler: function () {
                                var opt = {
                                    title: 'CENTRO DE COSTO POR PROVISION DE VACACIONES',
                                    url: 'ccprovvacacionctserv/create',
                                    id: 'frmCcprovvacacion',
                                    callback: function () {
                                        var p = {};
                                        p.accion = 'new';
                                        p.IdProvVacacion = IdProvVacacion;
                                        p.sueldo = MontoProvisionar;
                                        p.idpersonal = xx.id;
                                        Escritorio.RRHH.FCcprovvacacion(p);
                                    },
                                    width: 600,
                                    height: 330
                                };
                                Escritorio.RRHH.Ventana(opt);
                            }
                        }, '-', {
                            text: 'Editar',
                            iconCls: 'editIconSmall',
                            handler: function () {
                                var opts = {
                                    tabla: 'CCPROVVACACION',
                                    IdProvVacacion: IdProvVacacion,
                                    sueldo: record.get('MontoProvisionar'),
                                    idpersonal: xx.id
                                };
                                Escritorio.RRHH.Editar(opts);
                            }
                        }
                        ]
                    });

                    //crear grid para vacunos
                    ccpv.url = 'ccprovvacacionctserv/indexconid/' + IdProvVacacion;
                    ccpv.pageSize = 100;
                    ccpv.fields = ['Id', 'IdProvVacacion', 'CodCCosto', 'IdProyecto', 'Proyecto',
                            'NomCCosto', 'Plan', 'Monto', 'Porcentaje', 'Estado'
                    ];
                    ccpv.groupField = 'IdProvVacacion',
                    ccpv.store = Escritorio.Funciones.StoreSimple(ccpv);
                    ccpv.bbar = Escritorio.Funciones.Paginacion(ccpv);
                    ccpv.columns = [
                        new Ext.grid.RowNumberer(), {
                            header: "Codigo",
                            dataIndex: 'Id',
                            width: 130,
                            hidden: true
                        }, {
                            header: "Cod CCosto",
                            dataIndex: 'CodCCosto',
                            width: 70
                        }, {
                            header: "Nom CCosto",
                            dataIndex: 'NomCCosto',
                            flex: 1
                        }, {
                            header: "Plan Contable",
                            dataIndex: 'Plan',
                            flex: 1
                        }, {
                            header: "Monto S/.",
                            dataIndex: 'Monto',
                            width: 120,
                            summaryType: function (records) {
                                var i = 0,
                                    length = records.length,
                                    total = 0,
                                    record;
                                for (; i < length; ++i) {
                                    record = records[i];
                                    total += record.get('Monto');
                                }
                                return '<span style="font-size: 8px; font-weight: bold;">TOTAL : </span>' + (
                                    total == MontoProvisionar ? '<span style="color:green;">' + (total).toFixed(2) + '</span>' :
                                    '<span style="color:red;">' + (total).toFixed(2) + '</span>');
                            }
                        }, {
                            header: "Estado",
                            dataIndex: 'Estado',
                            width: 110,
                            renderer: function (value) {
                                return value == true ? '<span style="color:green;">PROVISIONADO</span>' :
                                    '<span style="color:red;">NO PROVISIONADO</span>';
                            }
                        }
                    ];
                    ccpv.id = 'gridCcprovvacacion' + IdProvVacacion;
                    ccpv.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        groupHeaderTpl: 'CENTROS COSTO :',
                        hideGroupedHeader: false,
                        enableGroupingMenu: false
                    },
                    ccpv.grid = Escritorio.Funciones.GridAgrupado(ccpv);
                    ccpv.store.loadPage(1);
                    //fin grid para vacunos

                    var PCCPV = Ext.create('Ext.panel.Panel', {
                        id: 'panelccprovvacacion' + IdProvVacacion,
                        title: titulo.substr(0, 15),
                        layout: 'fit',
                        //tbar:pbarproductores,
                        bodyBorder: false,
                        closable: true,
                        items: ccpv.grid,
                        border: false

                    });

                    Ext.getCmp('TBPrvVacacion' + xx.id).add(PCCPV);
                    Ext.getCmp('TBPrvVacacion' + xx.id).setActiveTab(PCCPV);
                } else {
                    Ext.getCmp('TBPrvVacacion' + xx.id).setActiveTab(EPCCPV);
                }

            });

            var TPPrvVacacion = Ext.create('Ext.tab.Panel', {
                id: 'TBPrvVacacion' + xx.id,
                activeTab: 0,
                layout: 'fit',
                region: 'east',
                width: Ext.getCmp('tabproductores').getWidth() * 0.6, //350,
                items: [{
                    xtype: 'panel',
                    title: 'Provisiones',
                    id: 'panelprovvacacion' + xx.id,
                    layout: 'fit',
                    //bodyPadding: 10,
                    items: prv.grid
                }
                ]
            });

            var PCVPV = Ext.create('Ext.panel.Panel', {
                id: 'PCVPV' + xx.id,
                layout: 'border',
                bodyBorder: false,
                border: false,
                defaults: {
                    collapsible: true,
                    split: true,
                    animFloat: false,
                    autoHide: false,
                    useSplitTips: true
                },
                items: [panelrcv, TPPrvVacacion]

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(PCVPV);
        } else if (xx.opcion == 'PROVCTS') {
            opts.tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {
                        Ext.Ajax.request({
                            url: 'periodolaboral/Comprobar/' + xx.id,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                if (textRes != '0') {
                                    var opt = {
                                        title: 'AGREGAR PROVISION CTS',
                                        url: 'provctserv/create',
                                        id: 'frmProvctserv',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.IdPeriodoLaboral = textRes;
                                            p.idpersonal = xx.id;
                                            Escritorio.RRHH.FProvctserv(p);
                                        },
                                        width: 470,
                                        height: 250

                                    };
                                    Escritorio.RRHH.Ventana(opt);

                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE PERIODO LABORAL ACTIVO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });
                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'SALDOPROVISION',
                            idpersonal: xx.id
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }
                ]
            });

            opts.url = 'provctserv/indexconid/' + xx.id;
            opts.pageSize = 19;
            opts.fields = ['Id', 'Anio', 'FechaIngreso', 'Sueldo', 'MontoProvisionar', 'SaldoProvisionado', 'UltimaGratificacion'];
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "A&ntildeo",
                dataIndex: 'Anio',
                flex: 1
            }, {
                header: "Fecha Ingreso",
                dataIndex: 'FechaIngreso',
                flex: 1
            }, {
                header: "Ultimo Sueldo",
                dataIndex: 'Sueldo',
                flex: 1
            }, {
                header: "Ultima Gratificacion",
                dataIndex: 'UltimaGratificacion',
                flex: 1
            }, {
                header: "Monto Provisionar",
                dataIndex: 'MontoProvisionar',
                flex: 1
            }, {
                header: "SaldoProvisionado",
                dataIndex: 'SaldoProvisionado',
                flex: 1
            }
            //{header: "Estado", dataIndex: 'Estado', flex: 1}
            ];
            opts.id = 'gridProvctserv' + xx.id;
            opts.grid = Escritorio.Funciones.GridSimple(opts);
            opts.store.loadPage(1);

            //evento dobleclick grid para agregar cenbtro de costo:
            opts.grid.on('itemdblclick', function (grid, record, item, index, e) {
                //alert('hnjdsjkfbd');
                var p = {};
                var titulo = record.get('Anio');
                var IdProvCTServ = record.get('Id'),
                    MontoProvisionar = record.get('MontoProvisionar');


                var existe = Ext.getCmp('panelCCprovCTS' + IdProvCTServ)
                if (!existe) {
                    p.tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: ['->', {
                            text: 'Nuevo',
                            iconCls: 'nuevoIconSmall',
                            handler: function () {
                                var opt = {
                                    title: 'CENTRO DE COSTO POR PROVISION DE CTS',
                                    url: 'ccprovvacacionctserv/create',
                                    id: 'frmCcprovCts',
                                    callback: function () {
                                        var p = {};
                                        p.accion = 'new';
                                        p.IdProvCTServ = IdProvCTServ;
                                        p.sueldo = MontoProvisionar;
                                        p.idpersonal = xx.id;
                                        Escritorio.RRHH.FCcprovcts(p);
                                    },
                                    width: 600,
                                    height: 330
                                };
                                Escritorio.RRHH.Ventana(opt);
                            }
                        }, '-', {
                            text: 'Editar',
                            iconCls: 'editIconSmall',
                            handler: function () {
                                var opts = {
                                    tabla: 'CCPROVCTS',
                                    IdProvCTServ: IdProvCTServ,
                                    sueldo: MontoProvisionar,
                                    idpersonal: xx.id
                                };
                                Escritorio.RRHH.Editar(opts);
                            }
                        }
                        ]
                    });
                    //crear grid para prov vacaciones cts
                    p.url = 'ccprovvacacionctserv/indexconiddos/' + IdProvCTServ;
                    p.pageSize = 100;
                    p.fields = ['Id', 'IdProvCTServ', 'CodCCosto', 'IdProyecto', 'Proyecto', 'NomCCosto', 'Monto', 'Porcentaje', 'Estado'];
                    p.groupField = 'IdProvCTServ',
                    p.store = Escritorio.Funciones.StoreSimple(p);
                    p.bbar = Escritorio.Funciones.Paginacion(p);
                    p.columns = [
                        new Ext.grid.RowNumberer(), {
                            header: "Cod CCosto",
                            dataIndex: 'CodCCosto',
                            width: 100
                        }, {
                            header: "Nom CCosto",
                            dataIndex: 'NomCCosto',
                            width: 100
                        }, {
                            header: "Monto S/.",
                            dataIndex: 'Monto',
                            width: 120,
                            summaryType: function (records) {
                                var i = 0,
                                    length = records.length,
                                    total = 0,
                                    record;
                                for (; i < length; ++i) {
                                    record = records[i];
                                    total += record.get('Monto');
                                }
                                return '<span style="font-size: 8px; font-weight: bold;">TOTAL : </span>' + (
                                    total == MontoProvisionar ? '<span style="color:green;">' + (total).toFixed(2) + '</span>' :
                                    '<span style="color:red;">' + (total).toFixed(2) + '</span>');
                            }
                        }, {
                            header: "Estado",
                            dataIndex: 'Estado',
                            width: 110,
                            renderer: function (value) {
                                return value == true ? '<span style="color:green;">PROVISIONADO</span>' :
                                    '<span style="color:red;">NO PROVISIONADO</span>';
                            }
                        }
                    ];
                    p.id = 'gridCCprovCTS' + IdProvCTServ,
                    p.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        groupHeaderTpl: 'CENTROS COSTO :',
                        hideGroupedHeader: false,
                        enableGroupingMenu: false
                    },
                    p.grid = Escritorio.Funciones.GridAgrupado(p);
                    p.store.loadPage(1);
                    //fin grid para vacunos

                    var paneld = Ext.create('Ext.panel.Panel', {
                        id: 'panelCCprovCTS' + IdProvCTServ,
                        title: ('Ejercicio: ' + titulo).substr(0, 18),
                        layout: 'fit',
                        bodyBorder: false,
                        closable: true,
                        items: p.grid,
                        border: false

                    });

                    Ext.getCmp('panelProvctserv' + xx.id).add(paneld);
                    Ext.getCmp('panelProvctserv' + xx.id).setActiveTab(paneld);
                } else {
                    Ext.getCmp('tabproductores').setActiveTab(existe);
                }
            });
            //Fin evento doble click

            var panelsp = Ext.create('Ext.tab.Panel', {
                id: 'panelProvctserv' + xx.id,
                //title:'PROVISION CTS',
                layout: 'fit',
                //tbar:tbar,
                bodyBorder: false,
                items: [{
                    xtype: 'panel',
                    title: 'PROVISION CTS',
                    id: 'panelprovvacacioncts' + xx.id,
                    layout: 'fit',
                    items: opts.grid
                }
                ],
                border: false

            });

            var TPPrvCTServ = Ext.create('Ext.panel.Panel', {
                id: 'TBPrvVacacion' + xx.id,
                activeTab: 0,
                layout: 'fit',
                region: 'east',
                width: Ext.getCmp('tabproductores').getWidth() * 0.6, //350,
                items: [{
                    xtype: 'panel',
                    title: 'Provisiones',
                    id: 'panelprovvacacion',
                    layout: 'fit'
                    //items : prv.grid
                }
                ]
            });

            var PCVPCTS = Ext.create('Ext.panel.Panel', {
                id: 'PCVPV' + xx.id,
                layout: 'border',
                bodyBorder: false,
                border: false,
                defaults: {
                    collapsible: true,
                    split: true,
                    animFloat: false,
                    autoHide: false,
                    useSplitTips: true
                },
                items: [panelsp, TPPrvCTServ]

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panelsp);
        } else if (xx.opcion == 'PERIODOLABORAL') {
            var btn = {};
            btn.IdPersonal = xx.id;
            new SistIntegral.RRHH.PeriodoLaboral().Grid(btn);
            //        tbar = Ext.create('Ext.toolbar.Toolbar', {
            //        items: ['->',
            //            {text: 'Nuevo', iconCls: 'nuevoIconSmall',
            //                handler : function () {
            //                var opt = {title : 'Nuevo Periodo Laboral',
            //                url : 'periodolaboral/create',id: 'frmPeriodolaboral',
            //                    callback : function () {
            //                    var p = {};
            //                    p.accion = 'new';
            //                    p.idpersonal = xx.id;
            //                    Escritorio.RRHH.FPeriodolaboral(p);},
            //                    width: 600,height :200
            //                };
            //                 Escritorio.RRHH.Ventana(opt);
            //            }
            //            },'-',
            //            {text: 'Editar', iconCls: 'editIconSmall',
            //                handler: function () {
            //                var opts = {tabla: 'PERIODOLABORAL',idpersonal : xx.id};
            //                Escritorio.RRHH.Editar(opts);
            //                }
            //            },'-',
            //            {text: 'Finalizar Periodo', iconCls: 'finalizarIcon',
            //                handler: function () {
            //                var opts = {tabla: 'FINPERIODOLABORAL',idpersonal : xx.id};
            //                Escritorio.RRHH.Editar(opts);
            //                }
            //            }
            //        ]
            //        });
            //
            //        opts.url    =   'periodolaboral/index/'+xx.id;
            //        opts.pageSize = 19;
            //        opts.fields =   ['Id','Fechainicio','Fechafin', 'Estado','Motivofin'];
            //        opts.store  =   Escritorio.Funciones.StoreSimple(opts);
            //        opts.bbar   =   Escritorio.Funciones.Paginacion(opts);
            //        opts.columns = [
            //                 {xtype: 'rownumberer',width: 35},
            //                 {header: "Codigo", dataIndex: 'Id', hidden: true},
            //                 {header: "Fecha Inicio", dataIndex: 'Fechainicio', flex: 2},
            //                 {header: "Fecha Fin", dataIndex: 'Fechafin', flex: 1},
            //                 {header: "Motivofin", dataIndex: 'Motivofin', flex: 1}
            //                 //{header: "Estado", dataIndex: 'Estado', flex: 1}
            //        ];
            //        opts.id     = 'gridPeriodolaboral'+xx.id;
            //        opts.grid   =   Escritorio.Funciones.GridSimple(opts);
            //        opts.store.loadPage(1);
            //
            //        var panelpl = Ext.create('Ext.panel.Panel', {
            //            id:'panelPeriodolaboral'+xx.id,
            //            title:'PERIODO LABORAL',
            //            layout:'fit',
            //            tbar:tbar,
            //            bodyBorder: false,
            //            items:opts.grid,
            //            border:false
            //
            //        });
            //
            //
            //          Ext.getCmp('PContratoadenda'+xx.id).removeAll();
            //          Ext.getCmp('PContratoadenda'+xx.id).add(panelpl);
        } else if (xx.opcion == 'DERECHOHABIENTES') {
            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    itemId: 'new',
                    handler: function (btn) {
                        btn.IdPersonal = xx.id;
                        new SistIntegral.RRHH.FrmDerechoHabiente().Window(btn);
                        //                        var opt = {
                        //                            title: 'DERECHOHABIENTE',
                        //                            url: 'derechohabiente/create',
                        //                            id: 'frmDerechohabiente',
                        //                            callback: function () {
                        //                                var p = {};
                        //                                p.accion = 'new';
                        //                                p.idpersonal = xx.id;
                        //                                Escritorio.RRHH.FDerechohabiente(p);
                        //                            },
                        //                            width: 610,
                        //                            height: 450
                        //                        };
                        //                        Escritorio.RRHH.Ventana(opt);
                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    itemId: 'edit',
                    handler: function (btn) {
                        btn.IdPersonal = xx.id;
                        new SistIntegral.RRHH.FrmDerechoHabiente().Window(btn);
                        //                        var opts = {
                        //                            tabla: 'DERECHOHABIENTES',
                        //                            idpersonal: xx.id
                        //                        };
                        //                        Escritorio.RRHH.Editar(opts);
                    }
                },  {
                            text: 'Eliminar',
                            iconCls: 'eliminar',
                            itemId: 'delete',
                            hrefTarget: 'derechohabiente/delete/',
                            handler: function (btn) {
                                     var opts = {
                                        tabla: 'DERECHOHABIENTES',
                                        idpersonal: xx.id
                                    };
                                    idPrestamoSeleccionado = xx.id;
                                    new Escritorio.RRHH.Window7(opts,btn);                                    
                            }
                        },
                                 {
                                text: 'Exportar a Excel',
                                iconCls: 'nuevoIconSmall',
                                    handler: function () {
                                      /*var GridSS = Ext.getCmp('cbxpais3');
                                        alert(GridSS);
                                        var prror = seleccion.get('cbxpais3');
                                        alert(prror);*/
                                       // alert(xx.id);
                                    new Escritorio.Funciones.CARGADATAREPORTEHABIENTE(xx.id);
                                 }
                            }     
                //eliminarrrr
                //                , '-', {
                //                    text: 'Baja',
                //                    iconCls: 'bajaIcon',
                //                    handler: function () {
                //                        var opts = {
                //                            tabla: 'BDERECHOHABIENTES',
                //                            idpersonal: xx.id
                //                        };
                //                        Escritorio.RRHH.Editar(opts);
                //                    }
                //                }
                ]
            });

            opts.url = 'derechohabiente/index/' + xx.id;
            opts.pageSize = 99999999;
            opts.fields = ['Id', 'Persona', 'Estadocivil', 'Fechanacimiento', 'Discapacidad',
                    'Estudiando', 'Estado', 'Fechaconvivencia', 'Nacionalidad', 'Tipodi', 'Nrodi', 'Vinculo',
                    'Docvinculo', 'Motivobaja', 'Nrodv'
            ];
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "Persona",
                dataIndex: 'Persona',
                width: 200,
                renderer: function (value) {
                    return '<span style="white-space:normal">' + value + '</span>';
                }
            }, {
                header: "Nacimiento",
                dataIndex: 'Fechanacimiento',
                width: 70
            }, {
                header: "Estado Civil",
                dataIndex: 'Estadocivil',
                width: 80
            }, {
                header: "Discapacidad",
                dataIndex: 'Discapacidad',
                width: 70
            }, {
                header: "Estudiando",
                dataIndex: 'Estudiando',
                width: 70
            }, {
                header: "Estado",
                dataIndex: 'Estado',
                width: 90,
                renderer: function (value) {
                    return '<span style="white-space:normal;font-weight: bold;">' +
                            (value == 0 ? '<span style="color:red;">' + "BAJA" + '</span>' : value == 1 ? "ACTIVO EN ESSALUD" : value == 2 ? "NO REGISTRADO EN ESSALUD" : "") + '</span>';
                }
            }, {
                header: "F. Convivencia",
                dataIndex: 'Fechaconvivencia',
                width: 80
            }, {
                header: "Identidad",
                dataIndex: 'Nacionalidad',
                width: 100,
                renderer: function (value, metaData, record) {
                    return '<span style="white-space:normal">' + value + '<br>' + (
                            record.get('Tipodi')) + ': ' + record.get('Nrodi') + '</span>';
                }
            }, {
                header: "Vinculo",
                dataIndex: 'Vinculo',
                width: 100,
                renderer: function (value) {
                    return '<span style="white-space:normal">' + value + '</span>';
                }
            }, {
                header: "Docvinculo",
                dataIndex: 'Docvinculo',
                flex: 1,
                renderer: function (value, metaData, record) {
                    return '<span style="white-space:normal">' + (value == "" ? "" : value + ": ") + (record.get('Nrodv') != null ?
                            '<span><a href="Content/RRHH/Vinculofamiliar/Alta/' + record.get('Id') + '.pdf" target="_blank">' + record.get('Nrodv') + '.pdf</a></span>' : '') + '<br>' + '</span>';
                }
            },/* {
                header: "Motivo Baja",
                dataIndex: 'Motivobaja',
                flex: 1,
                renderer: function (value, metaData, record) {
                    return '<span style="white-space:normal">' + (value == "" ? "" : value + ": " + '<span><a href="Content/RRHH/Vinculofamiliar/Baja/' + record.get('Id') + '.pdf" target="_blank">Adjunto' + '.pdf</a></span>') + '<br>' + '</span>';
                }
            }*/
            ];
            opts.id = 'gridDerechohabiente' + xx.id;
            opts.grid = Escritorio.Funciones.GridSimple(opts);
            opts.store.loadPage(1);

            var paneldh = Ext.create('Ext.panel.Panel', {
                id: 'panelderechohabiente' + xx.id,
                title: 'Derecho Habientes',
                layout: 'fit',
                tbar: tbar,
                bodyBorder: false,
                items: opts.grid,
                border: false

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(paneldh);
        } else if (xx.opcion == 'ASISTENCIA') {
            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Permiso',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {

                        Ext.Ajax.request({
                            url: 'contratoadenda/ComprobarContrato/' + xx.id,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                var vector = textRes.split("#");
                                if (vector[0] != '0') {
                                    var opt = {
                                        title: 'SOLICITUD DE PERMISO',
                                        url: 'ausencia/create',
                                        id: 'frmAusencia',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.idpersonal = xx.id;
                                            p.idcontratoadendapersonal = vector[0];
                                            p.idejerciciomes = vector[1];
                                            Escritorio.RRHH.FAusencia(p);
                                        },
                                        width: 550,
                                        height: 380

                                    };
                                    Escritorio.RRHH.Ventana(opt);

                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE CONTRATO O ADENDA ACTIVO<br>O NO SE HA ASIGNADO SUELDO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });


                    }
                },

                 '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'AUSENCIA',
                            idpersonal: xx.id
                        };
                      //  alert('El id es:'+xx.id);
                        Escritorio.RRHH.Editar(opts);
                    }
                }
                ]
            });

            /* ============================================================================ */
            function ObtenerNumeroDias(year, month) {
                var isLeap = ((year % 4) == 0 && ((year % 100) != 0 || (year % 400) == 0));
                return [31, (isLeap ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
            }

            var anio = new Date().getFullYear();
            var mes = new Date().getMonth();
            var nro_dias = ObtenerNumeroDias(anio, mes);

            var storeAsistenciaXID = new Ext.data.Store({
                fields: ['IdPersonal', 'Personal', 'Fotocheck', 'IdProyecto', 'CodigoPy', 'Proyecto', 'Cargo', 'FechaAsistencia',
                'Hora01', 'Evento01', 'Hora02', 'Evento02', 'Hora03', 'Evento03', 'Hora04', 'Evento04', 'Hora05', 'Evento05',
                'Hora06', 'Evento06', 'Hora07', 'Evento07', 'Hora08', 'Evento08', 'Hora09', 'Evento09', 'Hora10', 'Evento10'],
                pageSize: 999999999999999,
                groupers: ['Proyecto', 'Personal'],
                groupDir: 'ASC',
                proxy: {
                    type: 'ajax',
                    url: "personal/ReportaAsistencia",
                    extraParams: {
                        IdPersonal: xx.id,
                        FechaInicio: new Date(anio, mes, 01),
                        FechaFin: new Date(anio, mes, nro_dias),
                        IdProyecto: -1
                    },
                    reader: {
                        type: 'json',
                        root: 'grid',
                        totalProperty: 'total'
                    }
                }
                , autoLoad: true
            });

            function recargaStoreAsistenciaXID() {
                var fi = Ext.getCmp('FechaInicioXID').getRawValue();
                var ff = Ext.getCmp('FechaFinXID').getRawValue();

                storeAsistenciaXID.reload({
                    params: {
                        IdPersonal: xx.id,
                        FechaInicio: fi,
                        FechaFin: ff,
                        IdProyecto: -1
                    }
                });
            }

            if (Ext.getCmp('gridAsistenciaXID')) { Ext.getCmp('gridAsistenciaXID').destroy(); }

            var gridAsistenciaXID = Ext.create('Ext.grid.Panel', {
                id: 'gridAsistenciaXID',
                columnLines: true,
                layout: 'fit',
                region: 'center',
                border: false,
                loadMask: true,
                store: storeAsistenciaXID,
                emptyText: '<div style="font-size: 12px; font-family: Tahoma, Arial; text-align:center; padding: 5px;">NO EXISTEN REGISTROS ENTRE ESTAS LAS FECHAS</div>',
                columns: [{
                    header: "#",
                    xtype: 'rownumberer',
                    width: 50
                },
                    {
                        header: "Fecha",
                        dataIndex: 'FechaAsistencia',
                        format: 'd/m/Y',
                        width: 120,
                        sortable: false
                    },
                    {
                        text: 'Marcación 1',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora01' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento01' }
                        ]
                    },
                    {
                        text: 'Marcación 2',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora02' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento02' }
                        ]
                    },
                    {
                        text: 'Marcación 3',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora03' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento03' }
                        ]
                    },
                    {
                        text: 'Marcación 4',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora04' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento04' }
                        ]
                    },
                    {
                        text: 'Marcación 5',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora05' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento05' }
                        ]
                    },
                    {
                        text: 'Marcación 6',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora06' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento06' }
                        ]
                    },
                    {
                        text: 'Marcación 7',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora07' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento07' }
                        ]
                    },
                    {
                        text: 'Marcación 8',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora08' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento08' }
                        ]
                    },
                    {
                        text: 'Marcación 9',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora09' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento09' }
                        ]
                    },
                    {
                        text: 'Marcación 10',
                        sortable: false,
                        columns: [
                            { text: 'Hora', width: 60, sortable: false, dataIndex: 'Hora10' },
                            { text: 'Evento', width: 60, sortable: false, dataIndex: 'Evento10' }
                        ]
                    }

                ],
                features: [
                    {
                        ftype: 'multigrouping', //ftype:'grouping',
                        groupHeaderTpl: '{name}'
                    }
                ],
                bbar: Ext.create('Ext.PagingToolbar', {
                    store: storeAsistenciaXID,
                    displayInfo: true,
                    displayMsg: '{0} - {1} de {2}',
                    emptyMsg: "0 Registros"
                })
            });


            var initial = 0;
            var panelXID = Ext.create('Ext.panel.Panel', {
                id: 'panelcargaasistenciaXID',
                title: 'Asistencia Personal',
                layout: 'fit',
                border: false,
                tbar: [
                    {
                        id: 'FechaInicioXID',
                        xtype: 'datefield',
                        format: 'd/m/Y',
                        submitFormat: 'Y-m-d H:i:s',
                        width: 155,
                        labelWidth: 55,
                        fieldLabel: 'Buscar de:',
                        value: new Date(anio, mes, 01),
                        listeners: {
                            'select': function () {
                                if (this.getValue() > Ext.getCmp('FechaFinXID').getValue()) {
                                    Ext.getCmp('FechaFinXID').setValue(Ext.Date.add(this.getValue(), Ext.Date.DAY, 1));
                                }
                                recargaStoreAsistenciaXID();
                            }
                        }
                    },
                    {
                        id: 'FechaFinXID',
                        xtype: 'datefield',
                        format: 'd/m/Y',
                        width: 110,
                        labelWidth: 10,
                        fieldLabel: 'a:',
                        value: new Date(anio, mes, nro_dias),
                        listeners: {
                            'select': function () {
                                if (Ext.getCmp('FechaInicioXID').getValue() > this.getValue()) {
                                    Ext.getCmp('FechaInicioXID').setValue(Ext.Date.add(this.getValue(), Ext.Date.DAY, -1));
                                }
                                recargaStoreAsistenciaXID();
                            }
                        }
                    },
                    '->',
                    {
                        text: 'Exportar',
                        iconCls: 'nuevoIconSmall',
                        handler: function () {

                            var id = xx.id;
                            var fi = Ext.getCmp('FechaInicioXID').getRawValue();
                            var ff = Ext.getCmp('FechaFinXID').getRawValue();
                            var idp = -1;

                            var btn = {};
                            btn.titulo = 'ASISTENCIA DEL PERSONAL DESDE ' + fi + ' HASTA ' + ff;
                            var srsTmp = encodeURI('Reporting/RRHH/ReporteAsistencia.aspx?IdPersonal=' + id + '&FechaInicio=' + fi + '&FechaFin=' + ff + '&IdProyecto=' + idp);
                            btn.src = srsTmp;
                            //console.log(btn.src);
                            new SistIntegral.Componentes.Objetos().ReportWindow(btn);
                        }
                    }
                ],
                items: gridAsistenciaXID
            });

            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panelXID); ///panelXIDpanelaus

        } else if (xx.opcion == 'AUSENCIA') {
//AUSENCIASS CREAR 
            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Permiso',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {

                        Ext.Ajax.request({
                            url: 'contratoadenda/ComprobarContrato/' + xx.id,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                var vector = textRes.split("#");
                                if (vector[0] != '0') {
                                    var opt = {
                                        title: 'SOLICITUD DE AUSENCIA',
                                        url: 'ausencia/create/'+xx.id,
                                        id: 'frmAusencia',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.idpersonal = xx.id;
                                            p.idcontratoadendapersonal = vector[0];
                                            p.idejerciciomes = vector[1];
                                            Escritorio.RRHH.FAusencia(p);
                                        },
                                        idejerciciomes: vector[1],
                                        width: 550,
                                        height: 380,          
                                    };
                                    opt.url=opt.url+"/!"+opt.idejerciciomes;
                                    Escritorio.RRHH.Ventana(opt);

                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE CONTRATO O ADENDA ACTIVO<br>O NO SE HA ASIGNADO SUELDO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });


                    }
                },{
                    //PERIMISOOOOO
                    text: 'Permiso Nuevo',
                    iconCls: 'nuevoIconSmall',
                    itemId: 'create',
                    hrefTarget: 'ausencia/create/'+xx.id,
                    handler: function (btn) {
                       new SistIntegral.RRHH.FrmAusencia().Window(btn);
                   }
                }
                /*, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'AUSENCIAS',
                            idpersonal: xx.id,
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }*/
                ]
            });

            opts.url = 'ausencia/index/' + xx.id;
            opts.pageSize = 19;
            opts.fields = ['Id', 'Fechainicio', 'Fechafin', 'Motivoausencia', 'NroArchivo', 'Mes', 'Comentario', 'Estado'];
            opts.groupField = 'Mes',
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);

        var par = {};
        par.url = 'motivoausencia/index';
        par.fields =   ['Id','Motivo','Archivo'];
        par.pageSize = 15;
        par.emptyText = 'Seleccione Motivo Ausencia'
        par.store  =   Escritorio.Funciones.StoreSimple(par);
        //alert(par.store);

            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "Fecha Inicio",
                dataIndex: 'Fechainicio',
                flex: 1,
                editor: {
                                    xtype: 'datefield',
                                    allowBlank: false,
                                    format: 'd/m/Y',
                                    submitFormat: 'Y-m-d H:i:s'
                 },

            }, {
                header: "Fecha Fin",
                dataIndex: 'Fechafin',
                flex: 1,
                editor: {
                                    xtype: 'datefield',
                                    format: 'd/m/Y',
                                    submitFormat: 'Y-m-d H:i:s',
                                    allowBlank: false
                 },
            }, {
                header: "Motivo Ausencia",
                dataIndex: 'Motivoausencia',
                width:400,
                editor: {
                                    xtype: 'combo',
                                    store: par.store,
                                    allowBlank: false,
                                    displayField: 'Motivo',
                                    //forceSelection : true,
                                    editable: false,
                                    queryMode: 'remote',
                                    triggerAction: 'all',
                                    valueField  : 'Id',
                                    emptyText : 'Motivoausencia',
                                    width:250,
                                    loadingText: 'Buscando...',
                                        emptyText: 'Selecciona motivo',

                                            getInnerTpl: function() {
                                                return '<a>' +
                                                '<h3></span>{Motivo}'+'</h3>' +
                                                '</a>';
                                    }
                },
 
            }, {
                header: "Nro Archivo",
                dataIndex: 'NroArchivo',
                flex: 1,
                editor: {
                            allowBlank: true,
                            xtype: 'filefield',
                            id: 'Archivogs',
                            vtype: 'pdf',
                            emptyText: 'SELECCIONE ARCHIVO',
                            msgTarget: 'side',
                            name: 'Archivogs',
                            buttonText: '',
                            buttonConfig: {
                                iconCls: 'subirarchivo'
                            }

             },
                renderer: function (value, metaData, record) {
                    return '<span><a href="Content/RRHH/Ausencia/' + record.get('Id') + '.pdf" target="_blank">' + value + '.pdf</a></span>';
                }
            }, {
                header: "Comentario",
                dataIndex: 'Comentario',
                flex: 1,
                editor: {
                                    xtype: 'textfield',
                                    allowBlank: true,
                                    emptyText: 'Introdusca comentario',
                 },
            }
            ];
            opts.id = 'gridAusencia' + xx.id;

            var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                            clicksToMoveEditor: 2,
                            autoCancel: false
                        });


            opts.groupingFeature = {
                id: 'group',
                ftype: 'groupingsummary',
                groupHeaderTpl: '{name} -- ({rows.length} Centro{[values.rows.length > 1 ? "s" : ""]} de Costo)',
                hideGroupedHeader: false,
                enableGroupingMenu: false
            };

            opts.plugins = [rowEditing];

            opts.grid = Escritorio.Funciones.GridAgrupado(opts);
            opts.store.loadPage(1);

            opts.grid.on('edit', function (editor, e) {

                            var GridS = Ext.getCmp('gridAusencia' + xx.id);
                            var seleccion = GridS.getSelectionModel().getSelection()[0];
                            var combito = seleccion.get('Motivoausencia');
                            // alert(seleccion.get('Fechainicio'));
                            // alert(seleccion.get('Fechafin'));
                            // alert(seleccion.get('Comentario'));
                            // alert(seleccion.get(combito);
                            if(combito=='S.P. SANCIÓN DISCIPLINARIA'){
                                   combito = '1';
                            }
                            if(combito=='S.P. PERMISO O LICENCIA CONCEDIDOS POR EL EMPLEADOR SIN GOCE DE HABER'){
                                   combito = '2';
                            }
                            if(combito=='S.P. FALTA NO JUSTIFICADA'){
                                   combito = '3';
                            }
                            if(combito=='S.I. ENFERMEDAD O ACCIDENTE (PRIMEROS VEINTE DÍAS)'){
                                   combito = '4';
                            }
                            if(combito=='S.I. INCAPACIDAD TEMPORAL (INVALIDEZ, ENFERMEDAD Y ACCIDENTES)'){
                                   combito = '5';
                            }
                            if(combito=='S.I. MATERNIDAD DURANTE EL DESCANSO PRE Y POST NATAL'){
                                   combito = '6';
                            }
                            if(combito=='S.I. DESCANSO VACACIONAL'){
                                   combito = '7';
                            }
                            if(combito=='S.I. LICENCIA CON GOCE DE HABER'){
                                   combito = '8';
                            }
                            if(combito=='S.I. DÍAS COMPENSADOS POR HORAS TRABAJADAS EN SOBRETIEMPO'){
                                   combito = '9';
                            }

                            //var archivoGB = Ext.getCmp('Archivogs').getRawValue();
                            //var cantidadslash = 0;
                           // archivoGB.Remove(0,13);
                           /* for (var i = 0; i< archivoGB.length; i++) {
                                var caracter = archivoGB.charAt(i);

                                if( caracter == "/" || caracter == "//") {
                                   cantidadslash++;
                                 } 
                            }*/
                               //var elem = uneDate.split('/');
                             //  alert(elem[cantidadslash]);
                          /*     if (archivoGB.EndsWith(".pdf") || archivoGB.EndsWith(".PDF"))
                             {
                                char[] extension = { 'p', 'd', 'f', 'P', 'D', 'F', '.' };
                                archivoGB = archivoGB.TrimEnd(extension);
                             }*/
 
                            Ext.Ajax.request({
                                url: 'ausencia/manual/' + seleccion.get('Id'),
                                params: {
                                    FechaInicio: seleccion.get('Fechainicio'),
                                    FechaFin: seleccion.get('Fechafin'),
                                  //IdMotivoAusencia: seleccion.get('Motivoausencia'),
                                    IdMotivoAusencia: combito,
                                  //  NroArchivo: Ext.getCmp('Archivogs').getRawValue(),
                                    Comentario: seleccion.get('Comentario'),
                                },

                                success: function (httpReq) {
                                    var textRes = httpReq.responseText;
                                    if (textRes == 'ERROR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'No se actualizo Retencion</br>Guarde Otra vez',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } else {
                                        opts.store.load();
                                    }
                                },
                                failure: function () {
                                    alert('Error, Ha ocurrido un error al procesar los datos');
                                }
                            });

                        });


            var panelaus = Ext.create('Ext.panel.Panel', {
                id: 'panelAsistencia' + xx.id,
                title: 'AUSENCIAS',
                layout: 'fit',
                tbar: tbar,
                bodyBorder: false,
                items: opts.grid,
                border: false

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panelaus); ///panelXIDpanelaus
      

        } else if (xx.opcion == 'QUINTA') {
            Ext.Ajax.request({
                url: 'contratoadenda/comprobar/' + xx.id,
                //params : {IdPersonal:p.idpersonal},
                success: function (httpReq) {
                    var textRes = httpReq.responseText;
                    //alert(textRes);
                    if (textRes == 'OK') {

                        tbar = Ext.create('Ext.toolbar.Toolbar', {
                            items: ['->', '-', {
                                text: 'Afecto Renta Quinta',
                                iconCls: 'afectorentaquintaIcon',
                                handler: function () {
                                    Ext.Ajax.request({
                                        url: 'rentaquinta/AfectoRentaQuinta/' + xx.id,
                                        success: function (httpReq) {
                                            var textRes = httpReq.responseText;
                                            if (textRes == 'OK') {
                                                Agrq = Ext.getCmp('gridRentaquinta' + xx.id);
                                                Agrq.getStore().loadPage(1);
                                            } else if (textRes == 'ERROR') {
                                                Ext.Msg.show({
                                                    title: 'Advertencia',
                                                    msg: 'No se completo la Operacion</br>Intente Otra vez',
                                                    icon: Ext.MessageBox.WARNING,
                                                    buttons: Ext.Msg.OK
                                                });
                                            }
                                        },
                                        failure: function () {
                                            alert('Error, Ha ocurrido un error al procesar los datos');
                                        }
                                    });

                                }
                            }, '-', {
                                text: 'Sin Renta Quinta',
                                iconCls: 'sinrentaquintaIcon',
                                handler: function () {
                                    Ext.Ajax.request({
                                        url: 'rentaquinta/SinRentaQuinta/' + xx.id,
                                        success: function (httpReq) {
                                            var textRes = httpReq.responseText;
                                            if (textRes == 'OK') {
                                                Agrq = Ext.getCmp('gridRentaquinta' + xx.id);
                                                Agrq.getStore().loadPage(1);
                                            } else if (textRes == 'ERROR') {
                                                Ext.Msg.show({
                                                    title: 'Advertencia',
                                                    msg: 'No se completo la Operacion</br>Intente Otra vez',
                                                    icon: Ext.MessageBox.WARNING,
                                                    buttons: Ext.Msg.OK
                                                });
                                            }
                                        },
                                        failure: function () {
                                            alert('Error, Ha ocurrido un error al procesar los datos');
                                        }
                                    });
                                }
                            }, '-'
                            ]
                        });

                        var tbar2 = Ext.create('Ext.toolbar.Toolbar', {
                            items: ['->', '-', {
                                text: 'Nuevo',
                                iconCls: 'certificadorqIcon',
                                handler: function () {
                                    var opt = {
                                        title: 'NUEVO CERTIFICADO RENTA DE QUINTA',
                                        url: 'certificadorq/create',
                                        id: 'frmCertificadorq',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.idpersonal = xx.id;
                                            Escritorio.RRHH.FCertificadorq(p);
                                        },
                                        width: 610,
                                        height: 200
                                    };
                                    Escritorio.RRHH.Ventana(opt);
                                }
                            }, '-', {
                                text: 'Editar',
                                iconCls: 'editIconSmall',
                                handler: function () {
                                    var opts = {
                                        title: 'EDITAR CERTIFICADO DE RENTA DE QUINTA',
                                        tabla: 'RENTAQUINTA',
                                        id: xx.id
                                    };
                                    Escritorio.RRHH.Editar(opts);
                                }
                            }, '-', {
                                text: 'Eliminar',
                                iconCls: 'deleteIcon',
                                hrefTarget: 'certificadorq/Delete',
                                handler: function () {
                                    var opts = {
                                        tabla: 'RENTAQUINTA',
                                        url: 'certificadorq/Delete/',
                                        id: xx.id
                                    };
                                    Escritorio.RRHH.Eliminar(opts);
                                }
                            }
                            ]
                        });

                        opts.url = 'rentaquinta/index/' + xx.id;
                        opts.pageSize = 12;
                        opts.fields = ['Id', 'Sueldo', 'Ejerciciomes', 'Ejercicio', 'Tipo', 'Gratificacion', 'Retencion', 'Estadoretencion','Devuelto', 'Anio','BONIFI35'];
                        opts.groupField = 'Anio',
                        opts.groupDir = 'DESC',
                        opts.store = Escritorio.Funciones.StoreSimple(opts);
                        opts.bbar = Escritorio.Funciones.Paginacion(opts);
                        opts.columns = [{
                            xtype: 'rownumberer',
                            width: 35
                        }, {
                            header: "MES",
                            dataIndex: 'Ejerciciomes',
                            width: 100,
                            renderer: function (value) {
                                return value == 1 ? 'ENERO' : value == 2 ? 'FEBRERO' : value == 3 ? 'MARZO' : value == 4 ? 'ABRIL' :
                                        value == 5 ? 'MAYO' : value == 6 ? 'JUNIO' : value == 7 ? 'JULIO' : value == 8 ? 'AGOSTO' :
                                        value == 9 ? 'SETIEMBRE' : value == 10 ? 'OCTUBRE' : value == 11 ? 'NOVIEMBRE' : 'DICIEMBRE';
                            },
                            summaryType: function (records) {
                                return '<span style="font-size: 10px; font-weight: bold;">TOTALES : </span>'
                            }
                        }, {
                            header: "SUELDO",
                            dataIndex: 'Sueldo',
                            width: 100,
                            renderer: function (value) {
                                return value > 0 ? value.toFixed(2) : '';
                            },
                                editor: {
                                    xtype: 'numberfield',
                                    allowBlank: false
                                },
                            summaryType: function (records) {
                                var i = 0,
                                        length = records.length,
                                        total = 0,
                                        record;

                                for (; i < length; ++i) {
                                    record = records[i];
                                    total += record.get('Sueldo');
                                }
                                return '<span style="font-size: 11px; font-weight: bold;">' + (total).toFixed(2) + '</span>';
                            }
                        },

                            {
                                header: "GRATIFICACIÓN",
                                dataIndex: 'Gratificacion',
                                width: 100,
                                renderer: function (value) {
                                    return value > 0 ? value.toFixed(2) : '';
                                },
                                editor: {
                                    xtype: 'numberfield',
                                    allowBlank: false
                                },
                                summaryType: function (records) {
                                    var length = records.length,
                                        total = 0;

                                    for (var i = 0; i < length; ++i) {
                                        total += records[i].get('Gratificacion');
                                    }
                                    return '<span style="font-size: 11px; font-weight: bold;">' + (total).toFixed(2) + '</span>';
                                }
                            }, {
                                header: "BONIFICACIÓN EXTRAORDINARIA",
                                dataIndex: 'BONIFI35',
                                width: 150,
                                renderer: function (value) {
                                    return value > 0 ? value.toFixed(2): '';
                                },/*
                                editor: {
                                    xtype: 'numberfield',
                                    allowBlank: false
                                },*/
                                summaryType: function (records) {
                                    var 
                                    length = records.length,
                                        total = 0;

                                    for (var i = 0; i < length; ++i) {
                                        total += records[i].get('BONIFI35');
                                    }
                                    return '<span style="font-size: 11px; font-weight: bold;">' + (total * 0.0675).toFixed(2) + '</span>';
                                }
                            }, {
                                header: "RETENCIÓN",
                                dataIndex: 'Retencion',
                                width: 100,
                                renderer: function (value) {
                                    return value != null ? value.toFixed(2) : '';
                                },
                                editor: {
                                    xtype: 'numberfield',
                                    allowBlank: false
                                },
                                summaryType: function (records) {
                                    var length = records.length,
                                        total = 0;
                                    for (var i = 0; i < length; ++i) {
                                        total += records[i].get('Retencion');
                                    }
                                    return '<span style="font-size: 11px; font-weight: bold;">' + (total).toFixed(2) + '</span>';
                                }
                            }, {
                                header: "PAGADA?",
                                dataIndex: 'Estadoretencion',
                                width: 100,
                                renderer: function (value) {
                                    return value == true ? "Si" : "No";
                                }

                            },{
                                header: "DEVUELTO",
                                dataIndex: 'Devuelto',
                                width: 60,
                                renderer: function (value) {

                                    return value ==true ? "Si" : "No";
                                },
                                editor: {
                                    xtype: 'checkbox',
                                    cls: 'x-grid-checkheader-editor'
                                    //allowBlank: false
                                }
                            }
                        //,
                        //{header: "Ejercicio", dataIndex: 'Ejercicio', flex: 1}
                        ];
                        opts.id = 'gridRentaquinta' + xx.id;

                        var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                            clicksToMoveEditor: 2,
                            autoCancel: false
                        });

                        opts.groupingFeature = {
                            id: 'group',
                            ftype: 'groupingsummary',
                            groupHeaderTpl: 'Ejercicio : {name}',
                            hideGroupedHeader: false,
                            enableGroupingMenu: false
                        },
                        opts.plugins = [rowEditing];
                        //opts.tbar = Escritorio.Funciones.Bar(opts);
                        opts.grid = Escritorio.Funciones.GridAgrupado(opts);
                        opts.store.loadPage(1);

                        //grid ncertificado renta quinta
                        var crq = {};
                        crq.url = 'certificadorq/index/' + xx.id;
                        crq.pageSize = 2;
                        crq.fields = ['Id', 'FechaInicio', 'FechaFin', 'Estado', 'Ingresos', 'RentasPagadas', 'Ejercicio'];
                        crq.groupField = 'Ejercicio',
                        crq.store = Escritorio.Funciones.StoreSimple(crq);
                        crq.bbar = Escritorio.Funciones.Paginacion(crq);
                        crq.columns = [{
                            xtype: 'rownumberer',
                            width: 30
                        }, {
                            header: "FECHA",
                            dataIndex: 'FechaInicio',
                            width: 120,
                            renderer: function (value, metadata, record) {
                                return 'Fecha Inicio:<br>' + value + '<br><br>Fecha Fin:<br>' + record.get('FechaFin');
                            }
                        }, {
                            header: "MONTOS",
                            dataIndex: 'Ingresos',
                            width: 130,
                            renderer: function (value, metadata, record) {
                                return 'Ingresos:<br>' + value + '<br><br>Renta:<br>' + record.get('RentasPagadas');
                            }
                        }

                        ];
                        crq.id = 'gridCRentaquinta' + xx.id;

                        crq.groupingFeature = {
                            id: 'group',
                            ftype: 'groupingsummary',
                            groupHeaderTpl: 'Ejercicio : {name}',
                            hideGroupedHeader: false,
                            enableGroupingMenu: false
                        },
                        //crq.plugins = [rowEditing];
                        crq.grid = Escritorio.Funciones.GridAgrupado(crq);
                        crq.store.loadPage(1);

                        opts.grid.on('edit', function (editor, e) {

                            var GridS = Ext.getCmp('gridRentaquinta' + xx.id);
                            var seleccion = GridS.getSelectionModel().getSelection()[0];

                            Ext.Ajax.request({
                                url: 'rentaquinta/manual/' + seleccion.get('Id'),
                                params: {
                                    retenciones: seleccion.get('Retencion'),
                                    Devuelto: seleccion.get('Devuelto'),
                                    Sueldo: seleccion.get('Sueldo'),
                                    Gratificacion: seleccion.get('Gratificacion'),
                                    BonifiExtr: seleccion.get('BONIFI35'),
                                },
                                success: function (httpReq) {
                                    var textRes = httpReq.responseText;
                                    if (textRes == 'ERROR') {
                                        Ext.Msg.show({
                                            title: 'Advertencia',
                                            msg: 'No se actualizo Retencion</br>Guarde Otra vez',
                                            icon: Ext.MessageBox.WARNING,
                                            buttons: Ext.Msg.OK
                                        });
                                    } else {
                                        opts.store.load();
                                    }
                                },
                                failure: function () {
                                    alert('Error, Ha ocurrido un error al procesar los datos');
                                }
                            });

                        });

                        var panelder = Ext.create('Ext.panel.Panel', {
                            title: 'RENTA DE QUINTA ' + xx.apellidos + ' ' + xx.nombres,
                            region: 'center',
                            layout: 'fit',
                            tbar: tbar,
                            bodyBorder: false,
                            items: opts.grid,
                            border: false

                        });

                        var panelizq = Ext.create('Ext.panel.Panel', {
                            title: 'CERTIFICADOS RENTA QUINTA',
                            layout: 'fit',
                            width: 250,
                            region: 'west',
                            tbar: tbar2,
                            items: crq.grid,
                            bodyBorder: false,
                            border: false,
                            split: true,
                            collapsible: true
                            //collapse:true

                        });

                        var panel = Ext.create('Ext.panel.Panel', {
                            id: 'panelsistemapension' + xx.id,
                            layout: 'border',
                            //tbar:tbar,
                            bodyBorder: false,
                            defaults: {
                                collapsible: true,
                                split: true,
                                animFloat: false,
                                autoHide: false,
                                useSplitTips: true
                            },
                            items: [panelder, panelizq],
                            border: false

                        });


                        Ext.getCmp('PContratoadenda' + xx.id).removeAll();
                        Ext.getCmp('PContratoadenda' + xx.id).add(panel);

                    } else if (textRes == 'NO') {
                        Ext.Msg.show({
                            title: 'ADVERTENCIA',
                            msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE CONTRATO O ADENDA ACTIVO',
                            buttons: Ext.MessageBox.OK,
                            icon: Ext.Msg.WARNING
                        });
                    }
                },
                failure: function () {
                    alert('Error, Ha ocurrido un error al comprobar el Contrato o adenda');
                }
            });
        } else if (xx.opcion == 'CENTROCOSTO') {

            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    itemId: 'create',
                    hrefTarget: 'ccostoporpersona/create',
                    handler: function (btn) {

                        Ext.Ajax.request({
                            url: 'contratoadenda/ComprobarSueldo/' + xx.id,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                var vector = textRes.split("#");
                                if (vector[0] != '0') {

                                    btn.sueldo = vector[0];
                                    btn.idejerciciomes = vector[2];
                                    btn.IdPersonal = xx.id;

                                    new SistIntegral.RRHH.FrmCCostoPersona().Window(btn);
                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: xx.apellidos + ' ' + xx.nombres + '<br> NO TIENE CONTRATO O ADENDA ACTIVO<br>O NO SE HA ASIGNADO SUELDO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });

                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    itemId: 'edit',
                    hrefTarget: 'ccostoporpersona/edit/',
                    handler: function (btn) {
                        btn.IdPersonal = xx.id;
                        new SistIntegral.RRHH.FrmCCostoPersona().Window(btn);
                        //                var opts = {tabla: 'CCOSTOPORPERSONA',idpersonal:xx.id,
                        //                apellidos:xx.apellidos,nombres:xx.nombres};
                        //                Escritorio.RRHH.Editar(opts);
                    }
                }, '-', {
                    text: 'Eliminar',
                    iconCls: 'deleteIcon',
                    handler: function () {
                        var opts = {
                            tabla: 'CCOSTOPORPERSONA',
                            idpersonal: xx.id,
                            url: 'ccostoporpersona/Delete/'
                        };
                        Escritorio.RRHH.Eliminar(opts);
                    }
                }

                ]
            });

            opts.url = 'ccostoporpersona/index/' + xx.id;
            opts.pageSize = 1000;
            opts.fields = ['Id', 'Codproyecto', 'Proyecto', 'Idproyecto', 'Codigo', 'Ccosto', 'Porcentaje', 'Monto', 'Estado', 'Ejerciciomes', 'Mes',
                    'Validado', 'Contratoadenda'
            ];
            opts.groupField = 'Mes',
            opts.groupDir = 'DESC',
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            },
            //new Ext.grid.RowNumberer(),
                {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "Codigo Proy",
                dataIndex: 'Codproyecto',
                flex: 1
            }, {
                header: "Proyecto",
                dataIndex: 'Proyecto',
                flex: 2
            }, {
                header: "Codigo CC",
                dataIndex: 'Codigo',
                flex: 1
            }, {
                header: "Ccosto",
                dataIndex: 'Ccosto',
                flex: 1
            }, {
                header: "Porcentaje",
                dataIndex: 'Porcentaje',
                renderer: function (value) {
                    return value != null ? value.toFixed(2) + ' %' : '';
                },
                summaryType: function (records) {
                    var length = records.length,
                            total = 0;
                    for (var i = 0; i < length; ++i) {
                        total += records[i].get('Porcentaje');
                    }
                    if (records[0].get('Validado') == true)
                        return '<span style="color:green; font-size: 11px; font-weight: bold;">' + (total).toFixed(2) + ' %</span>';
                    else
                        return '<span style="color:red; font-size: 11px; font-weight: bold;">' + (total).toFixed(2) + ' %</span>';
                },
                flex: 1
            }, {
                header: "Monto",
                dataIndex: 'Monto',
                renderer: function (value) {
                    return value != null ? 'S/. ' + value.toFixed(2) : '';
                },
                summaryType: function (records) {
                    var length = records.length,
                            total = 0;
                    for (var i = 0; i < length; ++i) {
                        total += records[i].get('Monto');
                    }
                    if (records[0].get('Validado') == true)
                        return '<span style="color:green; font-size: 11px; font-weight: bold;">S/. ' + (total).toFixed(2) + '</span>';
                    else
                        return '<span style="color:red; font-size: 11px; font-weight: bold;">S/. ' + (total).toFixed(2) + '</span>';
                },
                flex: 1
            }
            ];
            opts.id = 'gridCcostoporpersona' + xx.id;

            opts.groupingFeature = {
                id: 'group',
                ftype: 'groupingsummary',
                groupHeaderTpl: '{name} -- ({rows.length} Centro{[values.rows.length > 1 ? "s" : ""]} de Costo)',
                hideGroupedHeader: false,
                enableGroupingMenu: false
            };
            //         opts.groupingFeature = Ext.create('Ext.grid.feature.Grouping',{
            //     groupHeaderTpl: 'Mes: {name} ({rows.length} Centro{[values.rows.length > 1 ? "s" : ""]} de Costo)'
            // });

            opts.grid = Escritorio.Funciones.GridAgrupado(opts);
            opts.store.loadPage(1);

            var panelcc = Ext.create('Ext.panel.Panel', {
                id: 'panelCcostoporpersona' + xx.id,
                title: 'CENTROS DE COSTOS ASIGNADOS',
                layout: 'fit',
                tbar: tbar,
                bodyBorder: false,
                items: opts.grid,
                border: false

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panelcc);

        } else if (xx.opcion == 'CONTRATOS') {

            p.url = 'contratoadenda/index/' + xx.id;
            p.fields = ['Id', 'Nro', 'Fechafirma', 'Fechainicio', 'Remuneracion', 'Fechafin', 'Sueldo', 'Estado', 'Tipo', 'Tipotrabajador',
                    'IdCat', 'Catt',
                    'Niveleducativo', 'Grupoocupacional', 'Discapacidad', 'Tipocontrato', 'Hora', 'Horario', 'Tipopago', 'IdArea', 'Area', 'Codigoarea', 'Cargo', 'Idpos'
            ];
            p.store = Escritorio.Funciones.StoreTree(p);

            ///arbol
            var tbargrid = [{
                width: 120,
                xtype: 'searchfield',
                emptyText: 'Numero',
                store: p.store
            },
                    '->', {
                        text: 'Nuevo Contrato',
                        iconCls: 'nuevocontrato',
                        hrefTarget: 'contrato/create',
                        itemId: 'create',
                        handler: function (btn) {
                            btn.IdPersonal = xx.id;
                            new SistIntegral.RRHH.FrmContratoAdenda().Window(btn);
                        }
                    }, '-', {
                        text: 'Nueva Adenda',
                        iconCls: 'nuevaadenda',
                        itemId: 'createAdenda',
                        hrefTarget: 'contrato/create',
                        handler: function (btn) {
                            btn.IdPersonal = xx.id;
                            new SistIntegral.RRHH.FrmContratoAdenda().Window(btn)
                        }
                    }, '-', {
                        text: 'Editar',
                        iconCls: 'editaradenda',
                        hrefTarget: 'contrato/edit',
                        itemId: 'edit',
                        handler: function (btn) {
                            btn.IdPersonal = xx.id;
                            new SistIntegral.RRHH.FrmContratoAdenda().Window(btn)
                        }
                    }, '-', {
                        text: 'Eliminar',
                        iconCls: 'deleteIcon',
                        hrefTarget: 'contrato/Delete',
                        handler: function () {
                            var opts = {
                                tabla: 'CONTRATOADENDAPERSONAL',
                                id: xx.id,
                                url: 'contrato/Delete/'
                            };
                            Escritorio.RRHH.Eliminar(opts);
                        }
                    }
            ];


            p.tbar = tbargrid;

            var tree = Ext.create('Ext.tree.Panel', {
                title: 'CONTRATOS Y ADENDAS DE ' + xx.apellidos + ' ' + xx.nombres,
                id: 'arbolcontratoadenda' + xx.id,
                region: 'center',
                tbar: p.tbar,
                border: false,
                collapsible: false,
                useArrows: false,
                rootVisible: false,
                store: p.store,
                multiSelect: true,
                singleExpand: true,
                columns: [{
                    xtype: 'treecolumn',
                    text: 'Nro. Contrato Adenda',
                    flex: 2,
                    sortable: true,
                    dataIndex: 'Nro'
                    /*,renderer :function(value, metaData, record){
                    return record.get('Estado')==true ?'<div  style="background: #fff6bf;border-top: 2px solid #ffd324;border-bottom: 2px solid #ffd324;color:green;">'+value+'</div>':value;}*/
                }, {
                    text: 'Fecha Inicio',
                    flex: 1,
                    dataIndex: 'Fechainicio',
                    sortable: true,
                    renderer: function (value, metaData, record) {
                        return record.get('Estado') == true ? '<div  style="background: #fff6bf;border-top: 2px solid #ffd324;border-bottom: 2px solid #ffd324;color:green;">' + value + '</div>' : value;
                    }
                }, {
                    text: 'Sueldo',
                    flex: 1,
                    dataIndex: 'Sueldo',
                    sortable: true,
                    renderer: function (value, metaData, record) {
                        return record.get('Estado') == true ? '<div  style="background: #fff6bf;border-top: 2px solid #ffd324;border-bottom: 2px solid #ffd324;color:green;">' + value + '</div>' : value;
                    }
                }, {
                    text: 'Fecha Fin',
                    flex: 1,
                    dataIndex: 'Fechafin',
                    sortable: true,
                    renderer: function (value, metaData, record) {
                        return record.get('Estado') == true ? '<div  style="background: #fff6bf;border-top: 2px solid #ffd324;border-bottom: 2px solid #ffd324;color:green;">' + value + '</div>' : value;
                    }
                }
                ],
                listeners: {
                    selectionchange: function (dv, nodes) {
                        var selected = nodes[0];
                        if (selected) {
                            Ext.getCmp('img-detail-panelx' + xx.id).loadRecord(selected);
                        }
                    }
                }
            });

            var paneldetailx = Ext.create('Ext.panel.Panel', {
                id: 'img-detail-panelx' + xx.id,
                name: 'holax',
                region: 'east',
                split: true,
                width: 300,
                border: true,
                tpl: [
                        '<div class="details">',
                        '<tpl for=".">', (!Ext.isIE6 ? '<img src="Content/RRHH/Fotos/' + xx.id + '.jpg" />' :
                        '<div style="width:74px;height:74px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'icons/{thumb}\')"></div>'),
                        '<div class="details-info">',
                        '<hr>',
                        'Categoria: <b>{Tipotrabajador}</b><br>',
                        'Nivel Educativo: <b>{Niveleducativo}</b><br>',
                        'Grupo Ocupacional: <b>{Grupoocupacional}</b><br>',
                        'Discapacidad: <b>{Discapacidad}</b><br>',
                        'Tipo Contrato: <b>{Tipocontrato}</b><br>',
                        'Tipopago: <b>{Tipopago}</b><br>',
                        'Horario: <b>{Horario}</b><br>',
                        'Codigo Area: <b>{Codigoarea}</b><br>',
                        'Area: <b>{Area}</b><br>',
                        'Cargo: <b>{Cargo}</b><br>',
                        '<hr>',
                        'Adjunto:<span><a href="Content/RRHH/Contratos/{Id}.pdf" target="_blank">contrado{Id}.pdf</a></span>',
                //'<b>Type:</b>',
                //'<span>{type}</span>',
                    '</div>',
                        '</tpl>',
                        '</div>'
                ],
                loadRecord: function (image) {
                    this.body.hide();
                    this.tpl.overwrite(this.body, image.data);
                    this.body.slideIn('l', {
                        duration: 250
                    });
                }
            });

            var panelx = Ext.create('Ext.panel.Panel', {
                id: 'PContratoadendax' + xx.id,
                layout: 'border',
                tbar: tbar,
                bodyBorder: false,
                items: [paneldetailx, {
                    xtype: 'panel',
                    region: 'center',
                    split: true,
                    items: tree,
                    autoScroll: true,
                    border: true,
                    layout: 'fit'
                }
                ],
                border: false

            });


            Ext.getCmp('PContratoadenda' + xx.id).removeAll();
            Ext.getCmp('PContratoadenda' + xx.id).add(panelx);
        }
    },

    //FIN DE LA FUNCION PPERSONAL


    Ventana: function (opts) {

        //alert('OPTS'+opts.params);
        //alert('OPTS'+opts.url);
        Ext.Ajax.request({
            url: opts.url,
            //params: opts.params,
            success: function (response) {
                var text = response.responseText;
                var ventana1 = new Ext.Window({
                    id: opts.id,
                    title: opts.title,
                    width: opts.width || 650,
                    height: opts.height || 300,
                    draggable: true,
                    autoScroll: true,
                    bodyStyle: "padding : 10px; border : 1px solid #99bbe8",
                    modal: true,
                    constrainHeader: true
                });
                ventana1.show();
                ventana1.update({
                    html: text //,callback:opts.callback
                });
                opts.callback();

            }

        });
    },
    FBonifi35: function (p) {

        var winForm = Ext.getCmp('frmBonifi35');
        var formProvV = $('bonifi35');

        Escritorio.Funciones.ComboGuardian(p);

        Ext.getCmp('ComboGuardian').on('select', function (combo, record, index) {
            if (this.getRawValue()) {
                formProvV.down('#IdPersonal').setValue(this.getValue());
                p.rawpersonal = this.getRawValue();
            }
        });

        if (formProvV) {
            formProvV.observe('submit', function (e) {
                e.stop();
                formProvV.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formProvV,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            ArOrg = Ext.getCmp('gridBonifi35');
                            ArOrg.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FBonifi35(p);
                            //formProvV.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FCcostocts: function (p) {
        var winForm = Ext.getCmp('frmCcostovacacion');
        var formProvV = $('ccostovacacionctserv');
        var params;
        p.formulario = formProvV;
        Escritorio.Funciones.CalculoPorcentaje(p);
        Escritorio.Funciones.ComboProyecto(p);
        Escritorio.Funciones.ComboCCostoProyecto(p);


        Ext.getCmp('Comboccostox').on('select', function (combo, record, index) {
            if (this.getRawValue()) {
                formProvV.down('#IdCCosto').setValue(this.getValue());
                p.rawccosto = this.getRawValue();
            }
        });

        if (p.accion == 'new') {
            params = {
                IdCTServ: p.IdCTServ
            };
        }
        if (formProvV) {
            formProvV.observe('submit', function (e) {
                e.stop();
                formProvV.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formProvV,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            ArOrg = Ext.getCmp('gridCCostoctserv' + p.IdCTServ);
                            AsGM = Ext.getCmp('gridCtserv');
                            ArOrg.getStore().load();
                            AsGM.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FCcostocts(p);
                            //formProvV.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FCcostovacacion: function (p) {
        var winForm = Ext.getCmp('frmCcostovacacion');
        var formProvV = $('ccostovacacionctserv');
        var params;
        p.formulario = formProvV;
        Escritorio.Funciones.CalculoPorcentaje(p);
        Escritorio.Funciones.ComboProyecto(p);
        Escritorio.Funciones.ComboCCostoProyecto(p);


        Ext.getCmp('Comboccostox').on('select', function (combo, record, index) {
            if (this.getRawValue()) {
                formProvV.down('#IdCCosto').setValue(this.getValue());
                p.rawccosto = this.getRawValue();
            }
        });

        if (p.accion == 'new') {
            params = {
                idrecordvacacion: p.idrecordvacacion
            };
        }
        if (formProvV) {
            formProvV.observe('submit', function (e) {
                e.stop();
                formProvV.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formProvV,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            ArOrg = Ext.getCmp('gridCcvacacion' + p.idrecordvacacion);
                            //AsGM = Ext.getCmp('gridRecordvacacion'+p.idpersonal);
                            ArOrg.getStore().load();
                            //AsGM.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FCcostovacacion(p);
                            //formProvV.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    CargarComboMese: function(IdEjercicioAnio){
                existe = Ext.getCmp('rafpnet');
                var opts={};
                if (!existe) {
                 var cbxpais3 =  Escritorio.Funciones.CmbEjercicios5();
                 var combotrabajador2 = Escritorio.Funciones.CargarComboMeses(IdEjercicioAnio);
                 var seleccionadoAnio =  Escritorio.Funciones.GetEjercicioAFPId();
                 var fecha2;
                 Ext.getCmp('tabproductores').removeAll();
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: [cbxpais3, 
                                '-', combotrabajador2, '->',
                                 {
                                text: 'Exportar a Excel',
                                iconCls: 'nuevoIconSmall',
                                    handler: function () {

                                    new Escritorio.Funciones.CARGADATAREPORTEAFP();
                                 }
                            }                       
                            ],

                    });

                    opts.url = 'afp/IndexRpt';
                    opts.title = 'AFP NET'+' 201'+IdEjercicioAnio;
                    opts.pageSize = 999999999;
                    opts.fields = ['CUSPP', 'Tip','Dni','NombreCompleto','RelacionLaboral','InicioRL','CeseRL','ExcepcionAportar','RemunAsegurable','AporteVoluntarioCFP','AporteVoluntarioSFP','AporteVOluntarioEmp','TipoTrabajo','AFP'];
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);
                    opts.columns = [{
                                     xtype: 'rownumberer',
                                     width: 35
                                 },{
                                     header: "NombreCompleto",
                                     dataIndex: 'NombreCompleto',
                                     width: 216,
                                    
                                 },{
                                     header: "CUSPP",
                                     dataIndex: 'CUSPP',
                                     width: 100
                                    
                                 }
                                 , {
                                     header: "Dni",
                                     dataIndex: 'Dni',
                                     flex: 1
                                 }, {
                                     header: "Tip",
                                     dataIndex: 'Tip',
                                     flex: 1
                                 }, {
                                     header: "RelacionLaboral",
                                     dataIndex: 'RelacionLaboral',
                                     flex: 1
                                 }, {
                                     header: "InicioRL",
                                     dataIndex: 'InicioRL',
                                     flex: 1
                                 }, {
                                     header: "CeseRL",
                                     dataIndex: 'CeseRL',
                                     flex: 1
                                 }, {
                                     header: "ExcepcionAportar",
                                     dataIndex: 'ExcepcionAportar',
                                     flex: 1
                                 }, {
                                     header: "RemunAsegurable",
                                     dataIndex: 'RemunAsegurable',
                                     flex: 1
                                 }, {
                                     header: "AporteVoluntarioCFP",
                                     dataIndex: 'AporteVoluntarioCFP',
                                     flex: 1
                                 }, {
                                     header: "AporteVoluntarioSFP",
                                     dataIndex: 'AporteVoluntarioSFP',
                                     flex: 1
                                 }, {
                                     header: "AporteVOluntarioEmp",
                                     dataIndex: 'AporteVOluntarioEmp',
                                     flex: 1
                                 }, {
                                     header: "TipoTrabajo",
                                     dataIndex: 'TipoTrabajo',
                                     flex: 1
                                 }, {
                                     header: "AFP",
                                     dataIndex: 'AFP',
                                     flex: 1
                                 }
                                 ];
                    //opts.id = 'gridvacaciones';
                   opts.grid = Escritorio.Funciones.GridSimple(opts);
                    opts.store.loadPage(1);
                    panel = Ext.create('Ext.panel.Panel', {
                       // id: 'panelvacacion',
                        title: 'Reporte de AFP NET',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        closable: true,
                        items: opts.grid,
                        border: false
                    });
                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                    } else {
                          Ext.getCmp('tabproductores').setActiveTab(existe);
                    }
    },
    cambiarNombresMeses2: function(IdEjercicioAnio){
                existe = Ext.getCmp('prvvacacion');

                if (!existe) {
                  var opts={};
                Ext.getCmp('tabproductores').removeAll();

                  var cbxpais3;
                  var combotrabajador2 = new Escritorio.Funciones.ComboReuneracion();
                  var fecha2;
                    tbar = Ext.create('Ext.toolbar.Toolbar', {
                        items: [cbxpais3= new Escritorio.Funciones.CmbEjercicios4(), 
                                '-', combotrabajador2, '->',
                                 {
                                text: 'Exportar a Excel',
                                iconCls: 'nuevoIconSmall',
                                    handler: function () {
                                      /*var GridSS = Ext.getCmp('cbxpais3');
                                        alert(GridSS);
                                        var prror = seleccion.get('cbxpais3');
                                        alert(prror);*/
                                    new Escritorio.Funciones.CARGADATAREPORTE2();
                                 }
                            }                       

                            ],

                    });
                    var mesActual = Escritorio.Funciones.cambiarNombresMeses();

                    opts.url = 'cts/IndexRpt';
                    opts.title = 'CTS'+IdEjercicioAnio;
                    opts.pageSize = 999999999;
                    opts.fields = ['Banco', 'Personal','Dni','UltSueldo','Total'];
                    opts.groupField = 'Banco';
                    opts.store = Escritorio.Funciones.StoreSimple(opts);
                    opts.bbar = Escritorio.Funciones.Paginacion(opts);

                    if(IdEjercicioAnio=="1"){
                                 opts.columns = [{
                                     xtype: 'rownumberer',
                                     width: 35
                                 },{
                                     header: "Personal",
                                     dataIndex: 'Personal',
                                     width: 216,
                                    
                                 }, {
                                     header: "Dni",
                                     dataIndex: 'Dni',
                                     flex: 1
                                 }, {
                                     header: "Último Sueldo",
                                     dataIndex: 'UltSueldo',
                                     flex: 1,                                   
                                 }, {
                                     header: "Total",
                                     dataIndex: 'Total',
                                     flex: 1,
                                     format: '0,000.00',
                                    renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                    }
                                 }
                                 ];
                        }
                            if(IdEjercicioAnio=="2"){

                                 opts.columns = [{
                                     xtype: 'rownumberer',
                                     width: 35
                                 },{
                                     header: "Personal",
                                     dataIndex: 'Personal',
                                     width: 216,
                                    
                                 }, {
                                     header: "Dni",
                                     dataIndex: 'Dni',
                                     flex: 1
                                 }, {
                                     header: "Último Sueldo",
                                     dataIndex: 'UltSueldo',
                                     flex: 1,                                   
                                 }, {
                                     header: "Total",
                                     dataIndex: 'Total',
                                     flex: 1,
                                     format: '0,000.00',
                                    renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                                    }
                                 }
                                 ];
                    }

                    opts.id = 'gridvacaciones';
                    opts.groupingFeature = {
                        id: 'group',
                        ftype: 'groupingsummary',
                        hideGroupedHeader: true,
                        enableGroupingMenu: false
                    };

                    opts.grid = Escritorio.Funciones.GridAgrupado(opts);
                    opts.store.loadPage(1);
                    panel = Ext.create('Ext.panel.Panel', {
                       // id: 'panelvacacion',
                        title: 'Reporte de 6 últimas remuneraciones',
                        layout: 'fit',
                        tbar: tbar,
                        bodyBorder: false,
                        closable: true,
                        items: opts.grid,
                        border: false
                    });
                    Ext.getCmp('tabproductores').removeAll();
                    Ext.getCmp('tabproductores').add(panel);
                    Ext.getCmp('tabproductores').setActiveTab(panel);
                    } else {
                            Ext.getCmp('tabproductores').setActiveTab(existe);
                    }
    },
    FCcprovcts: function (p) {
        var winForm = Ext.getCmp('frmCcprovCts');
        var formProvV = $('ccprovvacacionctserv');
        var params;
        p.formulario = formProvV;
        Escritorio.Funciones.CalculoPorcentaje(p);
        Escritorio.Funciones.ComboPlanContable(p);
        Escritorio.Funciones.ComboProyecto(p);
        Escritorio.Funciones.ComboCCostoProyecto(p);

        Ext.getCmp('Comboproyectox').on('select', function (combo, record, index) {
            if (this.getRawValue()) {
                formProvV.down('#IdProyecto').setValue(this.getValue());
                p.rawproyecto = this.getRawValue();
            }
        });

        Ext.getCmp('Comboccostox').on('select', function (combo, record, index) {
            if (this.getRawValue()) {
                formProvV.down('#IdCCosto').setValue(this.getValue());
                p.rawccosto = this.getRawValue();
            }
        });

        if (p.accion == 'new') {
            params = {
                IdProvCTServ: p.IdProvCTServ
            };
        }
        if (formProvV) {
            formProvV.observe('submit', function (e) {
                e.stop();
                formProvV.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formProvV,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            ArOrg = Ext.getCmp('gridCCprovCTS' + p.IdProvCTServ);
                            //AsGM = Ext.getCmp('gridProvvacacion'+p.idpersonal);
                            ArOrg.getStore().load();
                            //AsGM.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FCcprovcts(p);
                            //formProvV.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FCcprovvacacion: function (p) {
        var winForm = Ext.getCmp('frmCcprovvacacion');
        var formProvV = $('ccprovvacacionctserv');
        p.formulario = formProvV;
        Escritorio.Funciones.CalculoPorcentaje(p);
        Escritorio.Funciones.ComboPlanContable(p);
        Escritorio.Funciones.ComboProyecto(p);
        Escritorio.Funciones.ComboCCostoProyecto(p);

        Ext.getCmp('Comboproyectox').on('select', function (combo, record, index) {
            if (this.getRawValue()) {
                formProvV.down('#IdProyecto').setValue(this.getValue());
                p.rawproyecto = this.getRawValue();
            }
        });

        Ext.getCmp('Comboccostox').on('select', function (combo, record, index) {
            if (this.getRawValue()) {
                formProvV.down('#IdCCosto').setValue(this.getValue());
                p.rawccosto = this.getRawValue();

                Ext.getCmp('Comboplancontablex').setRawValue("Seleccione Plan Contable");
                p.rawplancontable = "Seleccione Plan Contable";
                formProvV.down('#IdPlan').setValue("");
            }
        });

        Ext.getCmp('Comboplancontablex').on('select', function (combo, record, index) {
            if (this.getRawValue()) {
                formProvV.down('#IdPlan').setValue(this.getValue());
                p.rawplancontable = this.getRawValue();

                Ext.getCmp('Comboccostox').setRawValue("Seleccione Centro Costo");
                p.rawccosto = "Seleccione Centro Costo";
                formProvV.down('#IdCCosto').setValue("");
            }
        });

        var params;
        if (p.accion == 'new') {
            params = {
                IdProvVacacion: p.IdProvVacacion
            };
        }
        if (formProvV) {
            formProvV.observe('submit', function (e) {
                e.stop();
                formProvV.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formProvV,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            ArOrg = Ext.getCmp('gridCcprovvacacion' + p.IdProvVacacion);
                            AsGM = Ext.getCmp('gridProvvacacion' + p.idpersonal);
                            ArOrg.getStore().load();
                            AsGM.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FCcprovvacacion(p);
                            //formProvV.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FProvvacacion: function (p) {
        var winForm = Ext.getCmp('frmProvvacacion');
        var formProvV = $('provvacacion');
        var params;
        if (p.accion == 'new') {
            params = {
                IdPeriodoLaboral: p.IdPeriodoLaboral
            };
        }
        if (formProvV) {
            formProvV.observe('submit', function (e) {
                e.stop();
                formProvV.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formProvV,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            ArOrg = Ext.getCmp('gridProvvacacion' + p.idpersonal);
                            ArOrg.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FProvvacacion(p);
                            //formProvV.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },

    Window3: function (t,btn) {
            var Seleccion;
            var id;

                var gridEPrtmo = Ext.getCmp('gridPrestamo' + t.idpersonal);
                seleccion = gridEPrtmo.getSelectionModel().getSelection()[0];
               
            if (btn.itemId == 'delete') {
                if (!seleccion) {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'Seleccione Prestamo a ELIMINAR',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.OK
                    });
                    return false;
                }
                else {
                    id = seleccion.get('Id');
                    btn.seleccion = seleccion

                }
            } 
            return Ext.Msg.show({
                        title: 'ADVERTENCIA',
                        msg: 'DESEA ELIMINAR EL PRESTAMO SELECCIONADO',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.YESNO,
                        fn: function(btn){btn=='yes'? new Escritorio.Funciones.EliminarPrestamo(id):''}
                    });
    },
    
    Window4: function (t,btn) {
            var id;

        var gridEPrtmo = Ext.getCmp('gridDescuento' + t.idpersonal);
        seleccion = gridEPrtmo.getSelectionModel().getSelection()[0];
            if (btn.itemId == 'delete') {
                if (!seleccion) {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'Seleccione Prestamo a ELIMINAR',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.OK
                    });
                    return false;
                }
                else {
                    id = seleccion.get('Id');
                    btn.seleccion = seleccion

                }
            } 
            return Ext.Msg.show({
                        title: 'ADVERTENCIA',
                        msg: 'DESEA ELIMINAR EL PRESTAMO SELECCIONADO',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.YESNO,
                        fn: function(btn){btn=='yes'? new Escritorio.Funciones.EliminarDescuento(id):''}
                    });
    },

        Window5: function (t,btn) {
        var id;

        var gridEPrtmo = Ext.getCmp('gridAdelanto' + t.idpersonal);
        seleccion = gridEPrtmo.getSelectionModel().getSelection()[0];
            if (btn.itemId == 'delete') {
                if (!seleccion) {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'Seleccione Adelanto a ELIMINAR',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.OK
                    });
                    return false;
                }
                else {
                    id = seleccion.get('Id');
                    btn.seleccion = seleccion

                }
            } 
            return Ext.Msg.show({
                        title: 'ADVERTENCIA',
                        msg: 'DESEA ELIMINAR EL ADELANTO SELECCIONADO',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.YESNO,
                        fn: function(btn){btn=='yes'? new Escritorio.Funciones.EliminarDescuento(id):''}
                    });
    },

        Window7: function (t,btn) {
        var id;

        var gridEPrtmo = Ext.getCmp('gridDerechohabiente' + t.idpersonal);
        seleccion = gridEPrtmo.getSelectionModel().getSelection()[0];
            if (btn.itemId == 'delete') {
                if (!seleccion) {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'Seleccione habiente a ELIMINAR',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.OK
                    });
                    return false;
                }
                else {
                    id = seleccion.get('Id');
                    btn.seleccion = seleccion

                }
            } 
            return Ext.Msg.show({
                        title: 'ADVERTENCIA',
                        msg: 'DESEA ELIMINAR EL HABIENTE SELECCIONADO',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.YESNO,
                        fn: function(btn){btn=='yes'? new Escritorio.Funciones.Eliminarhabiente(id):''}
                    });
    },


        Window6: function (btn) {
        var id;

        var gridEPrtmo = Ext.getCmp('gridLimitesRentaQuinta');
        seleccion = gridEPrtmo.getSelectionModel().getSelection()[0];
            if (btn.itemId == 'delete') {
                if (!seleccion) {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'Seleccione límite de quinta a ELIMINAR',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.OK
                    });
                    return false;
                }
                else {
                    id = seleccion.get('Idlimitequinta');
                    btn.seleccion = seleccion

                }
            } 
            return Ext.Msg.show({
                        title: 'ADVERTENCIA',
                        msg: 'DESEA ELIMINAR EL ADELANTO SELECCIONADO',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.YESNO,
                        fn: function(btn){btn=='yes'? new Escritorio.Funciones.Eliminarlimitequinta(id):''}
                    });
    },
    Window8: function (xx,btn) {
            var Seleccion;
            var id;

                var gridEPrtmo = Ext.getCmp('gridAfiliacioneps' + xx.id);
                seleccion = gridEPrtmo.getSelectionModel().getSelection()[0];
               
            if (btn.itemId == 'delete') {
                if (!seleccion) {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'Seleccione EFPS a ELIMINAR',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.OK
                    });
                    return false;
                }
                else {
                    id = seleccion.get('Id');
                    btn.seleccion = seleccion

                }
            } 
            return Ext.Msg.show({
                        title: 'ADVERTENCIA',
                        msg: 'DESEA ELIMINAR EL EFPS SELECCIONADO',
                        icon: Ext.MessageBox.ERROR,
                        buttons: Ext.Msg.YESNO,
                        fn: function(btn){btn=='yes'? new Escritorio.Funciones.EliminarEFPS(id,xx.id):''}
                    });
    },
    FArea: function (p) {
        var winForm = Ext.getCmp('frmArea');
        var formPOS = $('area');
        var params;
        // Escritorio.Funciones.ComboCargo(p);
        // Escritorio.Funciones.ComboPosId(p);
        // Ext.getCmp('Combocargo').on('select', function (combo,record,index) {
        // formPOS.down('#IdCargo').setValue(this.getValue());
        // p.rawcargo = this.getRawValue();
        // });
        // Ext.getCmp('Comboposid').on('select', function (combo,record,index) {
        // formPOS.down('#JefeInmediato').setValue(this.getValue());
        // p.rawposid = this.getRawValue();
        // });

        if (p.accion == 'new') {
            params = {
                Dependencia: p.Dependencia,
                Nivel: p.Nivel + 1
            };
        }
        if (formPOS) {
            formPOS.observe('submit', function (e) {
                e.stop();
                formPOS.down('#bsubmit').disable();
                //p.fechaalta = Ext.getCmp('dtpfechaalta').getRawValue();
                Ext.Ajax.request({
                    form: formPOS,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            ArOrg = Ext.getCmp('arbolorganigrama');
                            ArOrg.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FArea(p);
                            //formPOS.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FPosicion: function (p) {
        var winForm = Ext.getCmp('frmPosicion');
        var formPOS = $('posicion');
        var params;

        Escritorio.Funciones.ComboCargo(p);
        Escritorio.Funciones.ComboPosId(p);

        Ext.getCmp('Combocargo').on('select', function (combo, record, index) {
            formPOS.down('#IdCargo').setValue(this.getValue());
            p.rawcargo = this.getRawValue();
        });

        Ext.getCmp('Comboposid').on('select', function (combo, record, index) {
            formPOS.down('#JefeInmediato').setValue(this.getValue());
            p.rawposid = this.getRawValue();
        });

        if (p.accion == 'new') {
            params = {
                IdArea: p.IdArea
            };
        }
        if (formPOS) {
            formPOS.observe('submit', function (e) {
                e.stop();
                formPOS.down('#bsubmit').disable();
                //p.fechaalta = Ext.getCmp('dtpfechaalta').getRawValue();
                Ext.Ajax.request({
                    form: formPOS,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridPosicion');
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FPosicion(p);
                            //formPOS.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FAfiliacioneps: function (p) {
        var winForm = Ext.getCmp('frmAfiliacioneps');
        var formEPSP = $('afiliacioneps');
        var params;
        Escritorio.Funciones.FechaAlta(p);
        if (p.accion == 'new') {
            params = {
                idpersonal: p.idpersonal
            };
        }
        if (formEPSP) {
            formEPSP.observe('submit', function (e) {
                e.stop();
                formEPSP.down('#bsubmit').disable();
               // p.fechaalta = Ext.getCmp('dtpfechaalta').getRawValue();
                Ext.Ajax.request({
                    form: formEPSP,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridAfiliacioneps' + p.idpersonal);
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FAfiliacioneps(p);
                            //formEPSP.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FEpsserviciospropio: function (p) {
        var winForm = Ext.getCmp('frmEpsserviciospropio');
        var formEPSP = $('epsserviciospropio');
        if (formEPSP) {
            formEPSP.observe('submit', function (e) {
                e.stop();
                formEPSP.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formEPSP,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridEpsserviciospropio');
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FEpsserviciospropio(p);
                            //formEPSP.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    ActualizarfrmDescuento: function (idDescuento) {
        /*
            alert('INGRESO :) : '+idDescuento);

            existe = Ext.getCmp('rafpnet');
                var opts={};
                if (!existe) {
            Ext.getCmp('tabproductores').removeAll();
            tbar = Ext.create('Ext.toolbar.Toolbar', {
                items: ['->', {
                    text: 'Nuevo',
                    iconCls: 'nuevoIconSmall',
                    handler: function () {
                        Ext.Ajax.request({
                            url: 'periodolaboral/Comprobar/' + idDescuento,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                if (textRes != '0') {
                                    var opt = {
                                        title: 'DESCUENTO DE SUELDO',
                                        url: 'descuento/create',
                                        id: 'frmDescuento',
                                        callback: function () {
                                            var p = {};
                                            p.accion = 'new';
                                            p.IdPeriodoLaboral = textRes;
                                            p.idpersonal = idDescuento;
                                            p.url = 'descuento/create';
                                            Escritorio.RRHH.FDescuento(p);
                                        },
                                        width: 610,
                                        height: 220
                                    };
                                    Escritorio.RRHH.Ventana(opt);
                                } else {
                                    Ext.Msg.show({
                                        title: 'ADVERTENCIA',
                                        msg: '<br> NO TIENE PERIODO LABORAL ACTIVO',
                                        buttons: Ext.MessageBox.OK,
                                        icon: Ext.Msg.WARNING
                                    });
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });
                    }
                }, '-', {
                    text: 'Editar',
                    iconCls: 'editIconSmall',
                    handler: function () {
                        var opts = {
                            tabla: 'DESCUENTOS',
                            idpersonal:idDescuento
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }, '-', {
                            text: 'Eliminar',
                            iconCls: 'eliminar',
                            itemId: 'delete',
                            hrefTarget: 'cuota/Delete/',
                            handler: function (btn) {
                                     var opts = {
                                        tabla: 'PRESTAMOS',
                                        idpersonal: idDescuento
                                    };
                                    idPrestamoSeleccionado = idDescuento;
                                    //Escritorio.Funciones.Window3(opts);
                                    new Escritorio.RRHH.Window4(opts,btn);
                                    //Escritorio.RRHH.EliminarPrestamo(opts);
                                     
                            }
                        }, '-', {
                    text: 'Aprobar',
                    iconCls: 'aprobar',
                    handler: function () {
                        var opts = {
                            tabla: 'APROBARDESCUENTOS',
                            idpersonal:idDescuento
                        };
                        Escritorio.RRHH.Editar(opts);
                    }
                }
                ]
            });

            opts.url = 'descuento/index/' + idDescuento;
            opts.pageSize = 19;
            opts.fields = ['Id', 'FechaS', 'FechaE', 'Monto', 'Cuotas', 'JefeArea', 'Director', 'Aprobado'];
            opts.sorters = [{
                property: 'Grupo',
                direction: 'DESC'
            }
            ];
            opts.store = Escritorio.Funciones.StoreSimple(opts);
            opts.bbar = Escritorio.Funciones.Paginacion(opts);
            opts.columns = [{
                xtype: 'rownumberer',
                width: 35
            }, {
                header: "Codigo",
                dataIndex: 'Id',
                hidden: true
            }, {
                header: "Fecha Solicitud",
                dataIndex: 'FechaS',
                flex: 1
            }, {
                header: "Fecha Aprobacion",
                dataIndex: 'FechaE',
                flex: 1
            }, {
                header: "Monto",
                dataIndex: 'Monto',
                flex: 1,
                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                }
            }, {
                header: "Cuotas",
                dataIndex: 'Cuotas',
                flex: 1
            }, {
                header: "Jefe Area",
                dataIndex: 'JefeArea',
                flex: 2
            }, {
                header: "Director",
                dataIndex: 'Director',
                flex: 2
            }
            ];
            opts.id = 'gridDescuento' +idDescuento;
        if (Ext.getCmp('gridDescuento' + idDescuento)) { Ext.getCmp('gridDescuento' + idDescuento).destroy(); }
            opts.grid = Escritorio.Funciones.GridSimple(opts);
            opts.store.loadPage(1);


           var panelDetalleDescuentos = Ext.create('Ext.tab.Panel', {
                        id:'idPanelDetalleDescuentos',
                        region: 'south',
                        });
           var panelDescuentosListados = Ext.create('Ext.panel.Panel', {
            id: 'DescuentosListados',
            region: 'center',
            items: opts.grid,
            trackOver: true,
            listeners: {
                    element  : 'el',
                    dblclick : function(btn) {
                    var detallepanel2 = null;
                        opts2 = {
                            id: idDescuento,
                            pageSize :19,
                            url:'cuota/IndexById/'+idDescuento,
                            fields :['IdCuouta','Anio', 'Mes','Monto','Pagada'],
                            groupField: 'Anio',
                        };

                        Escritorio.RRHH.TraerIdDescuentos(opts2);
                        
                        detallepanel2 =  Ext.create('Ext.tab.Panel', {
                            region: 'south',
                            title: 'Descuento #'+opts2.idPrestamoSeleccionado,
                            closable: true,
                            height:250,
                            items: [{
                                    xtype: 'panel',
                                    title: 'DETALLE DEL DESCUENTO',
                                    layout: 'fit',
                                    bodyBorder: false,
                                    closable: true,
                                    items: opts2.grid,
                                    border: false
                            }]
                        });
                        Ext.getCmp('idPanelDetalleDescuentos').removeAll();
                        Ext.getCmp('idPanelDetalleDescuentos').add(detallepanel2);
                        Ext.getCmp('idPanelDetalleDescuentos').setActiveTab(detallepanel2);
                    }
            }
           
        });


            var panelDescuento = Ext.create('Ext.panel.Panel', {
                id: 'panelDescuento' + idDescuento,
                title: 'Descuento de sueldo',
                layout: 'border',
                tbar: tbar,
                bodyBorder: false,
                items: [panelDetalleDescuentos,panelDescuentosListados],
                border: true
            });
                        Ext.getCmp('idPanelDetalleDescuentos').removeAll();
                        Ext.getCmp('idPanelDetalleDescuentos').add(detallepanel);
                        Ext.getCmp('idPanelDetalleDescuentos').setActiveTab(detallepanel);
       //     Ext.getCmp('PContratoadenda' + idDescuento).removeAll();
       //     Ext.getCmp('PContratoadenda' + idDescuento).add(panelDescuento);

    }*/ 
},

    Ftipoafiliacion: function (p) {
        var winForm = Ext.getCmp('frmtipoafiliacion');
        var formtipoafiliacion = $('tipoafiliacion');
        if (formtipoafiliacion) {
          //  alert('!formlimiterquinta'+ formtipoafiliacion);
            formtipoafiliacion.observe('submit', function (e) {
                e.stop();
                formtipoafiliacion.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formtipoafiliacion,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridtipoafiliacion');
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.Ftipoafiliacion(p);
                            //formEPSP.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },

Flimiterquinta: function (p) {
        var winForm = Ext.getCmp('frmlimiterquinta');
        var formlimiterquinta = $('limitesrquinta'); //este nombre tiene que ser el límite de quinta
               
        if (Ext.getCmp('lrqInferior')) { Ext.getCmp('lrqInferior').destroy(); }
        if (Ext.getCmp('lrqSuperior')) { Ext.getCmp('lrqSuperior').destroy(); }
        if (Ext.getCmp('lrqPorcentaje')) { Ext.getCmp('lrqPorcentaje').destroy(); }
        if (Ext.getCmp('lrqCardinal')) { Ext.getCmp('lrqCardinal').destroy(); }
        if (Ext.getCmp('CmbDeduccion')) { Ext.getCmp('CmbDeduccion').destroy(); }
        if (Ext.getCmp('CmbEstado')) { Ext.getCmp('CmbEstado').destroy(); }
        if (Ext.getCmp('CmbEjercicio')) { Ext.getCmp('CmbEjercicio').destroy(); }


        Escritorio.Funciones.lrqInferior(p);
        Escritorio.Funciones.lrqSuperior(p);
        Escritorio.Funciones.lrqPorcentaje(p);
        Escritorio.Funciones.lrqCardinal(p);  
        Escritorio.Funciones.CmbDeduccion(p);  
        Escritorio.Funciones.CmbEstado(p);
        Escritorio.Funciones.CmbEjercicio(p);


        if (formlimiterquinta) {
         
            formlimiterquinta.observe('submit', function (e) {
                      
            e.stop();    
                        
                      
            var idDeduccion = Ext.getCmp('CmbDeduccion').getValue(); 
            var idEjercicio = Ext.getCmp('CmbEjercicio').getValue();
            var Estado = Ext.getCmp('CmbEstado').getValue(); 
            var Inferior = Ext.getCmp('lrqInferior').getValue();
            var Superior = Ext.getCmp('lrqSuperior').getValue();
            var Porcentaje = Ext.getCmp('lrqPorcentaje').getValue();
            var Cardinal = Ext.getCmp('lrqCardinal').getValue();
            var params;
            params = {
                            iddeduccion : idDeduccion,
                            idejercicio : idEjercicio,
                            inferior    : Inferior,
                            cardinal    : Cardinal,
                            superior    : Superior,
                            porcentaje  : Porcentaje,
                            estado      : Estado,
                    };

                        if (!(Ext.getCmp('lrqInferior').getValue() > 0)) {
                            Ext.MessageBox.alert('Advertencia', 'Límite Minimo inválido');
                            return false;
                        }
                        if (!(Ext.getCmp('lrqSuperior').getValue() > 0)) {
                            Ext.MessageBox.alert('Advertencia', 'Límite Minimo inválido');
                            return false;
                        }
                        if (!(Ext.getCmp('lrqPorcentaje').getValue() > 0)) {
                            Ext.MessageBox.alert('Advertencia', 'Límite Minimo inválido');
                            return false;
                        }
                        if (!(Ext.getCmp('lrqCardinal').getValue() > 0)) {
                            Ext.MessageBox.alert('Advertencia', 'Límite Minimo inválido');
                            return false;
                        }

                       formlimiterquinta.down('#bsubmit').disable();
                        Ext.Ajax.request({
                            form: formlimiterquinta,
                            params: params,
                            success: function (httpReq) {
                                var textRes = httpReq.responseText;
                                if (textRes == 'OK') {
                                    AGridCp = Ext.getCmp('gridLimitesRentaQuinta');
                                    AGridCp.getStore().load();
                                    winForm.close();
                                } else {
                                    winForm.update(textRes);
                                    Escritorio.RRHH.Flimiterquinta(p);
                                }
                            },
                            failure: function () {
                                alert('Error, Ha ocurrido un error al procesar los datos');
                            }
                        });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX :(');
        }
    },


    Fcargo: function (p) {
        var winForm = Ext.getCmp('frmcargo');
        var formcargo = $('cargo');
        if (formcargo) {
            formcargo.observe('submit', function (e) {
                e.stop();
                formcargo.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formcargo,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridcargo');
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.Fcargo(p);
                            //formEPSP.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    Frentaquinta: function (p) {
        var winForm = Ext.getCmp('frmrentaquinta');
        var formcargo = $('certificadorq');
        if (formcargo) {
            formcargo.observe('submit', function (e) {
                e.stop();
                formcargo.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formcargo,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridCRentaquinta' + p.id);
                            AGridCp.getStore().load();
                            AGridCp = Ext.getCmp('gridRentaquinta' + p.id);
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                          //  Escritorio.Funciones.StoreSimpleRenta(p.id);
                             AGridCp = Ext.getCmp('gridRentaquinta' + p.id);
                            AGridCp.getStore().load();
                            winForm.close();
                            winForm.update(textRes);
                            Escritorio.RRHH.Fcargo(p);
                            //formEPSP.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    Fcostosistemadepensiones: function (p) {
        var winForm = Ext.getCmp('frmcostosistemadepensiones');
        var frmcostosistemadepensiones = $('costosistemadepensiones');
        if (frmcostosistemadepensiones) {
            frmcostosistemadepensiones.observe('submit', function (e) {
                e.stop();
                frmcostosistemadepensiones.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formcostosistemadepensiones,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridcostosistemadepensiones');
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.Fcostosistemadepensiones(p);
                            //formEPSP.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FParametrosgenerales: function (p) {
        var winForm = Ext.getCmp('frmparametrosgenerales');
        var formparametros = $('parametro');
        Escritorio.Funciones.MontoParametro(p);
        Escritorio.Funciones.MontoLimiteParametro(p);
        Escritorio.Funciones.FechaInicioFinParametro(p);
        if (formparametros) {

            formparametros.observe('submit', function (e) {
                if (p.validarfechas > 0) {
                    p.valor = Ext.getCmp('nValor').getValue();
                    p.montolimite = Ext.getCmp('nMontoLimite').getValue();
                    p.fechainicio = Ext.getCmp('dtpfechainicio').getRawValue();
                    p.fechafin = Ext.getCmp('dtpfechafin').getRawValue();
                    e.stop();
                    formparametros.down('#bsubmit').disable();
                    Ext.Ajax.request({
                        form: formparametros,
                        success: function (httpReq) {
                            var textRes = httpReq.responseText;
                            if (textRes == 'OK') {
                                AGridCp = Ext.getCmp('gridparametrosgenerales');
                                AGridCp.getStore().load();
                                winForm.close();
                            } else {
                                winForm.update(textRes);
                                Escritorio.RRHH.Ftipoafiliacion(p);
                                //formEPSP.down('#bsubmit').enable();
                            }
                        },
                        failure: function () {
                            alert('Error, Ha ocurrido un error al procesar los datos');
                        }
                    });
                } else {
                    Ext.MessageBox.alert('Advertencia', 'Fechas Incorrectas<br>Seleccione Mismo Mes y Año');
                }
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },

    FCTSProv: function (p) {

        if (Ext.getCmp('gridCTSPD')) {
            Ext.getCmp('gridCTSPD').destroy();
        }
        var StoreCTSPD = Ext.create('Ext.data.Store', {
            model: 'CTSProvisionD',
            pageSize: 25,
            proxy: {
                type: 'ajax',
                url: 'ctserv/ProvisionD/' + p.IdCTServ,
                reader: {
                    type: 'json',
                    root: 'grid'
                }
            }
        });
        StoreCTSPD.load();

        var gridCTSPD = Ext.create('Ext.grid.Panel', {
            store: StoreCTSPD,
            id: 'gridCTSPD',
            columnLines: true,
            height: 175,
            renderTo: 'divgridCTSPD',
            border: true,
            columns: [{
                xtype: 'rownumberer'
            }, {
                text: 'Proyecto',
                width: 300,
                flex: 1,
                sortable: true,
                align: 'left',
                dataIndex: 'Proyecto'
            }, {
                text: 'CCosto',
                width: 80,
                sortable: true,
                align: 'center',
                dataIndex: 'CCosto'
            }, {
                text: 'Tipo',
                width: 80,
                sortable: true,
                dataIndex: 'Tipo',
                align: 'center'
            }, {
                text: 'Monto',
                width: 80,
                sortable: true,
                dataIndex: 'Monto',
                align: 'right',
                renderer: function (value, metaData, record) {
                                        return  Ext.util.Format.number(value, '0,000.00');
                }
            }
            ],
            title: 'Listado de CTS',
            viewConfig: {
                stripeRows: true
            }
        });

        if (Ext.getCmp('CmbProyectoCTSP')) {
            Ext.getCmp('CmbProyectoCTSP').destroy();
        }
        if (Ext.getCmp('CmbCCostoCTSP')) {
            Ext.getCmp('CmbCCostoCTSP').destroy();
        }

        var grid = Ext.getCmp('gridCTSPD');
        seleccion = grid.getSelectionModel().getSelection()[0];


        var r = {};
        r.IdProyecto = 0;
        r.IdCCosto = 0;

        Escritorio.Funciones.CmbProyectoCTSP(r);
        Escritorio.Funciones.CmbCCostoCTSP(r);


        var winForm = Ext.getCmp('frmCTSProv');
        var formDscto = $('EditarCTSProv');
        formDscto.down('#bsubmit').disable();

        Ext.getCmp('CmbProyectoCTSP').disable();
        Ext.getCmp('CmbCCostoCTSP').disable();

        formDscto.down('#bcancelar').disable();

        gridCTSPD.on('itemdblclick', function (store, record) {
            var q = {};
            q.IdCTSContable = record.get('IdCTSContable');
            q.IdProyecto = record.get('IdProyecto');
            q.IdCCosto = record.get('IdCCosto');
            Ext.getCmp('CmbProyectoCTSP').setValue(q.IdProyecto);

            if (Ext.getCmp('CmbCCostoCTSP')) {
                Ext.getCmp('CmbCCostoCTSP').destroy();
            }
            Escritorio.Funciones.CmbCCostoCTSP(q);

            Ext.getCmp('CmbCCostoCTSP').setValue(q.IdCCosto);

            Ext.getCmp('CmbProyectoCTSP').on('select', function (cmb, record, index) {
                if (Ext.getCmp('CmbCCostoCTSP')) {
                    Ext.getCmp('CmbCCostoCTSP').destroy()
                }
                var q = {};
                q.IdProyecto = Ext.getCmp('CmbProyectoCTSP').getValue();
                Escritorio.Funciones.CmbCCostoCTSP(q);
            });

            Ext.get('dRespuesta').update('');
            formDscto.down('#bsubmit').enable();
            Ext.getCmp('CmbProyectoCTSP').enable();
            Ext.getCmp('CmbCCostoCTSP').enable();
            Ext.getCmp("gridCTSPD").disable();
            formDscto.down('#bcancelar').enable();



            formDscto.down('#bcancelar').on('click', function (e) {
                formDscto.down('#bsubmit').disable();
                Ext.getCmp('CmbProyectoCTSP').disable();
                Ext.getCmp('CmbCCostoCTSP').disable();
                Ext.getCmp("gridCTSPD").enable();
                formDscto.down('#bcancelar').disable();
            });


            if (formDscto) {
                if (Ext.getCmp('CmbCCostoCTSP').getValue()) {

                    formDscto.observe('submit', function (e) {
                        e.stop();
                        if (Ext.getCmp('CmbCCostoCTSP').getValue()) {

                            Ext.Ajax.request({
                                url: 'ctserv/EditCTSProv/' + q.IdCTSContable,
                                method: 'POST',
                                params: {
                                    IdProyecto: Ext.getCmp('CmbProyectoCTSP').getValue(),
                                    IdCCosto: Ext.getCmp('CmbCCostoCTSP').getValue()
                                },
                                success: function (httpReq) {
                                    var textRes = httpReq.responseText;
                                    //console.log(textRes);
                                    if (textRes == 'OK') {
                                        AGridCpD = Ext.getCmp("gridCTSPD");
                                        AGridCpD.getStore().load();
                                        AGridCp = Ext.getCmp("gridCTSP");
                                        AGridCp.getStore().load();
                                        Ext.get('dRespuesta').update('La operacion se realizo con exito.');
                                    } else {
                                        winForm.update(textRes);
                                        Escritorio.RRHH.FCTSProv(p);
                                    }
                                },
                                failure: function () {
                                    alert('Error, Ha ocurrido un error al procesar los datos');
                                }
                            });

                            formDscto.down('#bsubmit').disable();
                            Ext.getCmp('CmbProyectoCTSP').disable();
                            Ext.getCmp('CmbCCostoCTSP').disable();
                            Ext.getCmp("gridCTSPD").enable();
                            formDscto.down('#bcancelar').disable();

                        } else {
                            Ext.Msg.show({
                                title: 'ERROR',
                                msg: 'No ha seleccionado el campo CCosto',
                                buttons: Ext.Msg.OK,
                                icon: Ext.Msg.ERROR
                            });
                        }
                    });
                }
            } else {
                Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
            }
        });
    },

    FAprobar: function (p) {
        var winForm = Ext.getCmp('frmAprobar');
        var formDscto = $('aprobar');

        Escritorio.Funciones.CmbPersonal(p);


        if (formDscto) {
            formDscto.observe('submit', function (e) {
                e.stop();
                var autorizadoPor = Ext.getCmp('CmbPersonal').getValue();

                var params;
                params = {
                    autorizador: autorizadoPor
                };

                if (autorizadoPor > 0) {
                    Ext.Ajax.request({
                        url: "prestamo/aprobar/" + p.idprestamo,
                        form: formDscto,
                        params: params,
                        success: function (httpReq) {
                            var textRes = httpReq.responseText;
                            if (textRes == 'OK') {
                                AGridCp = Ext.getCmp(p.gridname + p.idpersonal);
                                AGridCp.getStore().load();
                                winForm.close();
                            } else {
                                winForm.update(textRes);
                                Escritorio.RRHH.FAprobar(p);
                                //formDscto.down('#bsubmit').enable();
                                return false;
                            }
                        },
                        failure: function () {
                            alert('Falla, Ha ocurrido un error al procesar los datos');
                            return false;
                        }
                    });

                } else {
                    Ext.MessageBox.alert('Advertencia', 'Seleccione la Persona que autorizará');
                }
                return false;
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }


    },

 FAprobarDescuento: function (p) {
        var winForm = Ext.getCmp('frmAprobar');
        var formDscto = $('aprobar');

        Escritorio.Funciones.CmbPersonal(p);


        if (formDscto) {
            formDscto.observe('submit', function (e) {
                e.stop();
                var autorizadoPor = Ext.getCmp('CmbPersonal').getValue();

                var params;
                params = {
                    autorizador: autorizadoPor
                };
                //alert(p.idprestamo);
                if (autorizadoPor > 0) {
                    Ext.Ajax.request({
                        url: "descuento/aprobar/" + p.idprestamo,
                        form: formDscto,
                        params: params,
                        success: function (httpReq) {
                            var textRes = httpReq.responseText;
                            if (textRes == 'OK') {
                                AGridCp = Ext.getCmp(p.gridname + p.idpersonal);
                                AGridCp.getStore().load();
                                winForm.close();
                            } else {
                                winForm.update(textRes);
                                Escritorio.RRHH.FAprobarDescuento(p);
                                //formDscto.down('#bsubmit').enable();
                                return false;
                            }
                        },
                        failure: function () {
                            alert('Falla, Ha ocurrido un error al procesar los datos');
                            return false;
                        }
                    });

                } else {
                    Ext.MessageBox.alert('Advertencia', 'Seleccione la Persona que autorizará');
                }
                return false;
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }


    },

 FAprobarAdelanto: function (p) {
        var winForm = Ext.getCmp('frmAprobar');
        var formDscto = $('aprobar');

        Escritorio.Funciones.CmbPersonal(p);


        if (formDscto) {
            formDscto.observe('submit', function (e) {
                e.stop();
                var autorizadoPor = Ext.getCmp('CmbPersonal').getValue();
                var params;
                params = {
                    autorizador: autorizadoPor
                };
                if (autorizadoPor > 0) {
                    Ext.Ajax.request({
                        url: "adelanto/aprobar/" + p.idprestamo,
                        form: formDscto,
                        params: params,
                        success: function (httpReq) {
                            var textRes = httpReq.responseText;
                            if (textRes == 'OK') {
                                AGridCp = Ext.getCmp(p.gridname + p.idpersonal);
                              //  alert('El agrid es:'+AGridCp);
                                AGridCp.getStore().load();
                                winForm.close();
                            } else {
                                winForm.update(textRes);
                                Escritorio.RRHH.FAprobarDescuento(p);
                                return false;
                            }
                        },
                        failure: function () {
                            alert('Falla, Ha ocurrido un error al procesar los datos');
                            return false;
                        }
                    });

                } else {
                    Ext.MessageBox.alert('Advertencia', 'Seleccione la Persona que autorizará');
                }
                return false;
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }


    },

    FPrestamo: function (p) {
        var winForm = Ext.getCmp('frmPrestamo');
        var formDscto = $('prestamo');
        if (Ext.getCmp('nmonto')) { Ext.getCmp('nmonto').destroy(); }
        if (Ext.getCmp('ncuotas')) { Ext.getCmp('ncuotas').destroy(); }

        Escritorio.Funciones.PrestAdelDscto(p);

        var params;
        if (p.accion == 'new') {
            params = {
                IdPeriodoLaboral: p.IdPeriodoLaboral,
                idpersonal: p.idpersonal
            };
        }
        if (formDscto) {
            formDscto.observe('submit', function (e) {
                e.stop();

                if (!(Ext.getCmp('nmonto').getValue() > 0)) {
                    Ext.MessageBox.alert('Advertencia', 'Monto Minimo inválido');
                    return false;
                }

                if ($('Motivo').getValue() == "") {
                    Ext.MessageBox.alert('Advertencia', 'Escriba un Motivo');
                    return false;
                }
                if (Ext.getCmp('ncuotas').getValue() == "") {
                    Ext.MessageBox.alert('Advertencia', 'Escriba un número de cuotas');
                    return false;
                }
                else if (parseInt(Ext.getCmp('ncuotas').getValue()) > parseInt(p.maxcuotas)) {
                    Ext.MessageBox.alert('Advertencia', 'El número máximo de cuotas es ' + p.maxcuotas);
                    return false;
                } else if (parseInt(Ext.getCmp('ncuotas').getValue()) == 0) {
                    Ext.MessageBox.alert('Advertencia', 'El Numero de cuotas Inválido');
                    return false;
                }
               // alert('FPrestamo'+p.url);
                
                Ext.Ajax.request({
                    url: p.url,
                    form: formDscto,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridPrestamo' + p.idpersonal);
                            AGridCp.getStore().load();
                            winForm.close();
                            //return false;
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FPrestamo(p);
                            //formDscto.down('#bsubmit').enable();
                            return false;
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FDescuento: function (p) {
        var winForm = Ext.getCmp('frmDescuento');
        var formDscto = $('descuento');
        if (Ext.getCmp('nmonto')) { Ext.getCmp('nmonto').destroy(); } //pruebas
        if (Ext.getCmp('ncuotas')) { Ext.getCmp('ncuotas').destroy(); }
        Escritorio.Funciones.PrestAdelDscto(p);
        var params;

        if (p.accion == 'new') {
            params = {
                IdPeriodoLaboral: p.IdPeriodoLaboral,
                idpersonal: p.idpersonal
            };
        }
        if (formDscto) {
            formDscto.observe('submit', function (e) {
                e.stop();

                if (!(Ext.getCmp('nmonto').getValue() > 0)) {
                    Ext.MessageBox.alert('Advertencia', 'Monto Minimo inválido');
                    return false;
                }

                if ($('Motivo').getValue() == "") {
                    Ext.MessageBox.alert('Advertencia', 'Escriba un Motivo');
                    return false;
                }

                if (Ext.getCmp('ncuotas').getValue() == "") {
                    Ext.MessageBox.alert('Advertencia', 'Escriba un número de cuotas');
                    return false;
                } 
                else if (parseInt(Ext.getCmp('ncuotas').getValue()) == 0) {
                    Ext.MessageBox.alert('Advertencia', 'El Numero de cuotas Inválido');
                    return false;
                }

                Ext.Ajax.request({
                    url: p.url,
                    form: formDscto,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridDescuento' + p.idpersonal);
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FDescuento(p);
                        }

                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            //EPS exepción
           Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FAdelanto: function (p) {
        var winForm = Ext.getCmp('frmAdelanto');
        var formAd = $('adelanto');
        //p.formulario = formAd;
        if (Ext.getCmp('nmonto')) { Ext.getCmp('nmonto').destroy(); } //pruebas
        if (Ext.getCmp('ncuotas')) { Ext.getCmp('ncuotas').destroy(); }
        Escritorio.Funciones.PrestAdelDscto(p);

        var params;
        if (p.accion == 'new') {
            params = {
                IdPeriodoLaboral: p.IdPeriodoLaboral,
                idpersonal: p.idpersonal
            };
        }

        if (formAd) {
            formAd.observe('submit', function (e) {
                e.stop();
                formAd.down('#bsubmit').disable();
                p.monto = Ext.getCmp('nmonto').getValue();
                //p.Fechasolicitud = Ext.getCmp('dtpFechasolicitud').getRawValue();
                Ext.Ajax.request({
                    form: formAd,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridAdelanto' + p.idpersonal);
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FAdelanto(p);
                            //formAd.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });

            });


        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },

    FRecordvacacion: function (p) {
        var winForm = Ext.getCmp('frmRecordvacacion');
        var formCRQ = $('recordvacacion');
        p.formulario = formCRQ;

        Escritorio.Funciones.FechaInicioFinRV(p);
        var params;
        if (p.accion == 'new') {
            params = {
                IdPeriodoLaboral: p.IdPeriodoLaboral
            };
        }
        /*if(p.accion == 'finalizar')
        {params = {FechaInicio:p.fechainicio};} */
        if (formCRQ) {
            formCRQ.observe('submit', function (e) {
                e.stop();
                if (p.validarfechas > 0) {
                    formCRQ.down('#bsubmit').disable();
                    p.fechainicio = Ext.getCmp('dtpfechainicio').getRawValue();
                    p.fechafin = Ext.getCmp('dtpfechafin').getRawValue();

                    Ext.Ajax.request({
                        form: formCRQ,
                        params: params,
                        success: function (httpReq) {
                            var textRes = httpReq.responseText;
                            if (textRes == 'OK') {
                                AGridCp = Ext.getCmp('gridRecordvacacion' + p.idpersonal);
                                AGridCp.getStore().load();
                                winForm.close();
                            } else {
                                winForm.update(textRes);
                                Escritorio.RRHH.FRecordvacacion(p);
                                //formCRQ.down('#bsubmit').enable();
                            }
                        },
                        failure: function () {
                            alert('Error, Ha ocurrido un error al procesar los datos');
                        }
                    });
                } else {
                    Ext.MessageBox.alert('Advertencia', 'Fechas Incorrectas<br>Seleccione Mismo Mes y Año');
                }
            });


        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FProvctserv: function (p) {
        var winForm = Ext.getCmp('frmProvctserv');
        var formCRQ = $('provctserv');
        p.formulario = formCRQ;

        //Escritorio.Funciones.Saldo(p);
        var params;
        if (p.accion == 'new') {
            params = {
                IdPeriodoLaboral: p.IdPeriodoLaboral
            };
        }
        if (formCRQ) {
            formCRQ.observe('submit', function (e) {
                e.stop();
                formCRQ.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: formCRQ,
                    params: params,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridProvctserv' + p.idpersonal);
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FProvctserv(p);
                            //formCRQ.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });

            });


        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FPeriodolaboral: function (p) {
        var winForm = Ext.getCmp('frmPeriodolaboral');
        var formCRQ = $('periodolaboral');
        p.formulario = formCRQ;

        Escritorio.Funciones.FechaInicioFin(p);
        var params;
        if (p.accion == 'new') {
            params = {
                IdPersonal: p.idpersonal
            };
        }
        if (p.accion == 'finalizar') {
            params = {
                FechaInicio: p.fechainicio
            };
        }


        if (formCRQ) {
            formCRQ.observe('submit', function (e) {
                e.stop();
                if (p.accion != 'finalizar' || p.validarfechas > 0) {
                    formCRQ.down('#bsubmit').disable();
                    p.fechainicio = Ext.getCmp('dtpfechainicio').getRawValue();
                    p.fechafin = Ext.getCmp('dtpfechafin').getRawValue();

                    Ext.Ajax.request({
                        form: formCRQ,
                        params: params,
                        success: function (httpReq) {
                            var textRes = httpReq.responseText;
                            if (textRes == 'OK') {
                                AGridCp = Ext.getCmp('gridPeriodolaboral' + p.idpersonal);
                                AGridCp.getStore().load();
                                winForm.close();
                            } else {
                                winForm.update(textRes);
                                Escritorio.RRHH.FPeriodolaboral(p);
                                //formCRQ.down('#bsubmit').enable();
                            }
                        },
                        failure: function () {
                            alert('Error, Ha ocurrido un error al procesar los datos');
                        }
                    });
                } else {
                    Ext.MessageBox.alert('Advertencia', 'Fechas Incorrectas');
                }
            });


        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FBDerechohabiente: function (p) {
        var winForm = Ext.getCmp('frmBDerechohabiente');
        var formDH = $('derechohabiente');

        if (formDH) {
            formDH.observe('submit', function (e) {
                e.stop();
                formDH.down('#bsubmit').disable();
                p.accion = 'post';

                var adjunto = formDH.down('#adjunto').getValue();

                if ((adjunto.substring(adjunto.length - 3, adjunto.length) == 'pdf' ||
                    adjunto.substring(adjunto.length - 3, adjunto.length) == 'PDF') || adjunto == "") {
                    Ext.Ajax.request({
                        form: formDH,
                        success: function (httpReq) {
                            var textRes = httpReq.responseText;
                            if (textRes == 'OK') {
                                AGridCp = Ext.getCmp('gridDerechohabiente' + p.idpersonal);
                                AGridCp.getStore().load();
                                winForm.close();
                            } else {
                                winForm.update(textRes);
                                Escritorio.RRHH.FBDerechohabiente(p);
                                //formDH.down('#bsubmit').enable();
                            }
                        },
                        failure: function () {
                            alert('Error, Ha ocurrido un error al procesar los datos');
                        }
                    });
                } else {

                    Ext.MessageBox.alert('ADVERTENCIA', 'ADJUNTOS DEBEN SER EN FORMATO PDF');
                }
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FDerechohabiente: function (p) {
        var winForm = Ext.getCmp('frmDerechohabiente');
        var formDH = $('derechohabiente');
        Escritorio.Funciones.FechaNacConv(p);

        //            Ext.create('Ext.form.field.ComboBox', {
        //                typeAhead: true,
        //                transform: 'idacreditavinculofamiliar',
        //                name:'documentofamiliar',
        //                id:'documentofamiliar',
        //                width: 180,
        //                forceSelection: true,
        //                editable:false,
        //                renderTo:'dividacreditavinculofamiliar'
        //            });

        if (formDH) {
            formDH.observe('submit', function (e) {
                e.stop();
                formDH.down('#bsubmit').disable();
                p.accion = 'post';
                p.fechanac = Ext.getCmp('dtpfechanac').getRawValue();
                p.fechaconv = Ext.getCmp('dtpfechaconv').getRawValue();

                var adjunto = formDH.down('#adjunto').getValue();

                if ((adjunto.substring(adjunto.length - 3, adjunto.length) == 'pdf' ||
                    adjunto.substring(adjunto.length - 3, adjunto.length) == 'PDF') || adjunto == "") {
                    Ext.Ajax.request({
                        form: formDH,
                        params: { /*idacreditavinculofamiliar:Ext.getCmp('documentofamiliar').getValue(),*/
                            IdPersonal: p.idpersonal
                        },
                        success: function (httpReq) {
                            var textRes = httpReq.responseText;
                            if (textRes == 'OK') {
                                AGridCp = Ext.getCmp('gridDerechohabiente' + p.idpersonal);
                                AGridCp.getStore().load();
                                winForm.close();
                            } else {
                                winForm.update(textRes);
                                Ext.getCmp('dtpfechanac').destroy();
                                Ext.getCmp('dtpfechaconv').destroy();
                                Escritorio.RRHH.FDerechohabiente(p);
                                //formDH.down('#bsubmit').enable();
                            }
                        },
                        failure: function () {
                            alert('Error, Ha ocurrido un error al procesar los datos');
                        }
                    });
                } else {
                    Ext.MessageBox.alert('ADVERTENCIA', 'ADJUNTOS DEBEN SER EN FORMATO PDF');
                }
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },

    FAusencia: function (p) {
        var winForm = Ext.getCmp('frmAusencia');
        var formCRQ = $('ausencia');
        p.formulario = formCRQ;
        var params = {};
       // if (p.accion == 'new') {
        params = {
                idcontratoadendapersonal: p.idcontratoadendapersonal,
                idejerciciomes: p.idejerciciomes,
                idpersonal: p.idpersonal,
            };
        //}
        //alert(p.sueldo);
        //alert(p.idcontratoadendapersonal);
        Escritorio.Funciones.ComnoMotivoausencia(p);
        Escritorio.Funciones.FechaAusencia(p);
        //Escritorio.Funciones.ComboCCostoProyecto(p);

        Ext.getCmp('Combomotivoausx').on('select', function (combo, record, index) {
            if (this.getRawValue()) {
                formCRQ.down('#IdMotivoAusencia').setValue(this.getValue());
                p.rawmotivoaus = this.getRawValue();
            }
        });

        if (formCRQ) {
            formCRQ.observe('submit', function (e) {
                e.stop();
                formCRQ.down('#bsubmit').disable();
                /*p.porcentaje = Ext.getCmp('nporcentaje').getValue();
                p.valor = Ext.getCmp('nvalor').getValue();*/
                p.fechainicio = Ext.getCmp('dtpfechainicio').getRawValue();
                p.fechafin = Ext.getCmp('dtpfechafin').getRawValue();

                var adjunto = formCRQ.down('#Archivo').getValue();

                if ((adjunto.substring(adjunto.length - 3, adjunto.length) == 'pdf' ||
                    adjunto.substring(adjunto.length - 3, adjunto.length) == 'PDF') || adjunto == "") {
                    Ext.Ajax.request({
                        form: formCRQ,
                        params: params,
                        success: function (httpReq) {

                            AGridCp = Ext.getCmp('gridAusencia' + p.idpersonal);
                            AGridCp.getStore().load();
                            winForm.close();
                            var textRes = httpReq.responseText;
                            if (textRes == 'SE  CREO CORRECTAMENTE, ACTUALIZA LA PÁGINA') {
                                AGridCp = Ext.getCmp('gridAusencia' + p.idpersonal);
                                AGridCp.getStore().load();
                                winForm.close();
                            } else {
                                winForm.update(textRes);
                                Escritorio.RRHH.FAusencia(p);
                            }
                        },
                        failure: function () {
                            alert('Error, Ha ocurrido un error al procesar los datos');
                        }
                    });
                } else {
                    Ext.MessageBox.alert('ADVERTENCIA', 'ADJUNTOS DEBEN SER EN FORMATO PDF');
                }
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FCertificadorq: function (p) {
        var winForm = Ext.getCmp('frmCertificadorq');
        var formCRQ = $('certificadorq');

        Escritorio.Funciones.Certificadorentaquinta(p);

        if (formCRQ) {
            formCRQ.observe('submit', function (e) {
                e.stop();
                formCRQ.down('#bsubmit').disable();
                p.fechainicio = Ext.getCmp('dtpfechainicio').getRawValue();
                p.fechafin = Ext.getCmp('dtpfechafin').getRawValue();
                p.ingresos = Ext.getCmp('ningresos').getValue();
                p.rqpagadas = Ext.getCmp('nrqpagadas').getValue();
                Ext.Ajax.request({
                    form: formCRQ,
                    params: {
                        IdPersonal: p.idpersonal
                    },
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridCRentaquinta' + p.idpersonal);
                            AGridCp.getStore().load();
                            winForm.close();
                            //                            Ext.MessageBox.alert('satisfactorio');
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FCertificadorq(p);
                            //formCRQ.down('#bsubmit').enable();
                            //                            Ext.MessageBox.alert('fallas');
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    //    FCertificadorq1: function (p) {
    //        var winForm = Ext.getCmp('frmCertificadorq');
    //        var formCRQ = $('certificadorq');

    //        Escritorio.Funciones.Certificadorentaquinta1(p);

    //        if (formCRQ) {
    //            formCRQ.observe('submit', function (e) {
    //                e.stop();
    //                formCRQ.down('#bsubmit').disable();
    //                p.fechainicio = Ext.getCmp('dtpfechainicio1').getRawValue();
    //                p.fechafin = Ext.getCmp('dtpfechafin1').getRawValue();
    //                p.ingresos = Ext.getCmp('ningresos1').getValue();
    //                p.rqpagadas = Ext.getCmp('nrqpagadas1').getValue();
    //                Ext.Ajax.request({
    //                    form: formCRQ,
    //                    params: {
    //                        IdPersonal: p.idpersonal
    //                    },
    //                    success: function (httpReq) {
    //                        var textRes = httpReq.responseText;
    //                        if (textRes == 'OK') {
    //                            AGridCp = Ext.getCmp('gridRentaquinta' + p.idpersonal);
    //                            AGridCp.getStore().load();
    //                            winForm.close();
    //                        } else {
    //                            winForm.update(textRes);
    //                            Escritorio.RRHH.FCertificadorq(p);
    //                            //formCRQ.down('#bsubmit').enable();
    //                        }
    //                    },
    //                    failure: function () {
    //                        alert('Error, Ha ocurrido un error al procesar los datos');
    //                    }
    //                });
    //            });
    //        } else {
    //            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
    //        }
    //    },
    FAfiliacionsistemapension: function (p) {
        var winForm = Ext.getCmp('frmAfiliacionsistemapension');
        var formSEV = $('afiliacionsistemapension');
        Escritorio.Funciones.SistemaPension(p);
        Escritorio.Funciones.FechaAfiliacion(p);
        Escritorio.Funciones.CmbTipoAfiliacion(p);

        Ext.getCmp('Combosistemapensionxx').on('select', function (combo, record, index) {
            if (this.getValue()) {
                formSEV.down('#IdSistemaPensiones').setValue(this.getValue());
                p.rawsistemapension = this.getRawValue();
            }
        });
        Ext.getCmp('CmbTipoAfiliacion').on('select', function (combo, record, index) {
            if (this.getValue()) {
                formSEV.down('#IdTipoAfiliacion').setValue(this.getValue());
                p.rawsistemapensiontipoafiliacion = this.getRawValue();
            }
        });


        if (formSEV) {
            formSEV.observe('submit', function (e) {
                e.stop();

                Ext.Ajax.request({
                    form: formSEV,
                    params: {
                        IdPersonal: p.idpersonal
                    },
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        //                        if (textRes == 'true') {
                        AGridCp = Ext.getCmp('gridSistemapension' + p.idpersonal);
                        AGridCp.getStore().load();
                        winForm.close();
                        //                        } else {
                        //                            winForm.update(textRes);
                        //                            Escritorio.RRHH.FAfiliacionsistemapension(p);
                        //                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    },
    FCertQuintaCategoriaEd: function (p) {
        var testFramer = document.createElement("IFRAME");
        testFramer.id = "testFramer";
        testFramer.src = p.url;
        document.body.appendChild(testFramer);
    },
    FSistemaPension: function (p) {
        var winForm = Ext.getCmp('FrmSistemaPension');
        var FrmSistemaPension = $('afiliacionsp');
        if (FrmSistemaPension) {
            FrmSistemaPension.observe('submit', function (e) {
                e.stop();
                FrmSistemaPension.down('#bsubmit').disable();
                Ext.Ajax.request({
                    form: FrmSistemaPension,
                    success: function (httpReq) {
                        var textRes = httpReq.responseText;
                        if (textRes == 'OK') {
                            AGridCp = Ext.getCmp('gridcostosistemadepensiones');
                            AGridCp.getStore().load();
                            winForm.close();
                        } else {
                            winForm.update(textRes);
                            Escritorio.RRHH.FSistemaPension(p);
                            //formEPSP.down('#bsubmit').enable();
                        }
                    },
                    failure: function () {
                        alert('Error, Ha ocurrido un error al procesar los datos');
                    }
                });
            });
        } else {
            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
        }
    }
};
//        var winForm = Ext.getCmp('FrmSistemaPension');
//        var frmsistemadepensiones = $('afiliacionsp');
//        if (frmsistemadepensiones) {
//            frmsistemadepensiones.observe('submit', function (e) {
//                e.stop();
//                frmsistemadepensiones.down('#bsubmit').disable();
//                Ext.Ajax.request({
//                    form: frmsistemadepensiones,
//                    success: function (httpReq) {
//                        var textRes = httpReq.responseText;
//                        if (textRes == 'OK') {
//                            AGridCp = Ext.getCmp('gridSistemapension' + p.idpersonal);
//                            AGridCp.getStore().load();
//                            winForm.close();
//                        } else {
//                            winForm.update(textRes);
//                            Escritorio.RRHH.Fsistemadepensiones(p);
//                            //formEPSP.down('#bsubmit').enable();
//                        }
//                    },
//                    failure: function () {
//                        alert('Error, Ha ocurrido un error al procesar los datos');
//                    }
//                });
//            });
//        } else {
//            Ext.MessageBox.alert('Advertencia', 'Fallo en la Peticion AJAX');
//        }
//    }


